Presenting media guidance data based on the trajectory of the user

ABSTRACT

Systems and methods are described herein for a media guidance application that recommends media content to a user based on the media content likely to be available to the user at a given location and providing media guidance data for receiving the media content from a content provider at the location.

BACKGROUND

In conventional systems, users have access to a plethora of mediacontent. Moreover, given the rise in mobile devices, over-the-top(“OTT”) content, and the general accessibility of media content innumerous locations, users are able to access that media content inplaces which they previously could not. Nonetheless, while media contentis widely available, specific media content may not be available at alllocations at all times. For example, different content delivery networksmay carry or provide different media content. Moreover, even if acontent delivery network does provide particular media content at alocation, a user may not be able to access that media content due tosubscription status, quality of service issues, etc.

SUMMARY

Accordingly, systems and methods are described herein for a mediaguidance application that recommends media content and/or location toaccess media content to a user based on the media content likely to beavailable to a user in at a given location, on a given device, and/orthe quality of service at a particular location. The media guidanceapplication may also automatically determine the given location or givenbased on a current trajectory of the user, and recommend a media assetfrom the media content available at that location or on that device.Moreover, in order to recommend content having the greatest interest toa user at a particular time, the media guidance application bases therecommendations it is providing on content recently consumed by the useron a first device. Specifically, the media guidance application maymonitor content that the user recently consumed on a first device (e.g.,a set-top box connected to a television) and may then recommend othercontent for consumption to the user on a second device (e.g., smartphone) based on the content that the user recently consumed on the firstdevice.

For example, just prior to a user leaving her home, the user may bewatching a news story about an approaching winter storm on a television.When the user leaves her home, the media guidance application maydetermine that the user is likely going to her car. Therefore, the mediaguidance application may search content available in the user's car oron the user's smart phone (which may be accessed from the car) forprograms that include information about the approaching winter storm.For example, if the media guidance application determines that the userdoes not have access to the same news program in her car that the userconsumed in her house, the media guidance application may recommendsimilar content (e.g., a radio station news broadcast reporting on thewinter storm). Additionally or alternatively, if the media guidanceapplication determines that while the user does have access to the samenews program in her car (e.g., she could watch the program on hersmartphone) that the smartphone is unlikely to be able to receive theprogram due to quality of service issues, the media guidance applicationmay recommend corresponding audio or textual data that will be lessaffected by the quality of service issues.

In another example, just prior to a user leaving her home, the user maybe watching a football game. When the user leaves her home, the mediaguidance application may determine that the user is driving her cartowards an area with low quality of service. Therefore, the mediaguidance application may search content available in the user's car oron the user's smart phone (which may be accessed from the car) forprograms that include do not require a high quality of service to access(e.g., audio only media assets, low-quality video, etc.) as opposed toprogram that require a high quality of service (e.g., high-definition,streaming video).

In another example, just prior to a user leaving her home, the user maybe watching a basketball game. After the user leaves her home, the mediaguidance application may determine that the user has arrived at arestaurant that has a subscription to a particular content provider.Therefore, the media guidance application may search content availablevia the subscription to the content provider for programs that match orotherwise correspond to the basketball game.

In another example, just prior to a user leaving her home, the user maybe watching a television program. After the user leaves her home, themedia guidance application may determine that the user has arrived at afriend's house that has a subscription to a particular content provider.After determining that the television program is available at thefriend's house, the media guidance application may provide instructionsfor accessing the television program at the friends house (e.g., thechannel the television program is broadcast on, instructions fornavigating to the content, etc.).

In yet another example, the media guidance application may perform oneor more of the function described above simultaneously. For example,just prior to a user leaving her home, the user may be watching amusical. When the user leaves her home, the media guidance applicationmay determine where the user is going, when the user will arrive, whatthe quality of service is at various locations, etc. The media guidanceapplication may determine where the user may consume the musical (orsimilar program) and recommend a location. The location may be based onthe quality of service at that location, the content available at thelocation, etc. Moreover, once at a location, the media guidanceapplication may recommend devices and/or provide media guidance data(e.g., a channel) for accessing the musical.

In some aspects, the media guidance application implemented on controlcircuitry may determine that a user has stopped consuming a first mediaasset on a first device. For example, the media guidance application maydetermine that the user has stopped consuming the first media asset onthe first device by detecting that the user has moved from a firstlocation corresponding to first device to the second location.Additionally or alternatively, the media guidance application maydetermine that the user has stopped consuming the first media asset onthe first device by detecting that the user has stopped interacting withthe first device.

The media guidance application may determine a trajectory of the user inresponse to determining that the user has stopped consuming the firstmedia asset on the first device. For example, the media guidanceapplication may determine the trajectory by determining a first locationcorresponding to the first device, determining a current location of theuser, and comparing the first location to the current location. Forexample, by determining the difference between the current location ofthe user and the initial location of the user, the media guidanceapplication may determine a direction of the user.

The media guidance application may identify a second devicecorresponding to the trajectory. For example, the media guidanceapplication may store a list of devices corresponding to the user andthe various locations of those devices. Furthermore, the media guidanceapplication may identify what locations, if any, correspond to a currenttrajectory from the first device. For example, the media guidanceapplication may store a second location corresponding to the seconddevice in memory. The media guidance application may then retrieve thesecond location of the second device from the memory.

The media guidance application may then determine that the secondlocation corresponds to the trajectory.

The media guidance application may determine a plurality of media assetsavailable to the user on the second device. For example, while in somecases, the media assets available on the second device may be the sameas the media assets available to the user on the first device, in somecases the media assets may differ. Accordingly, before the mediaguidance application recommends a media asset for presentation on thesecond device, the media guidance application may first need todetermine what media assets are available.

The media guidance application may determine a characteristic of thefirst media asset. For example, the media guidance application mayattempt to recommend a media asset for presentation on the second devicethat is the same or similar to a media asset recently consumed by theuser on a first device. For example, the media guidance application maysearch for a second media asset that shares the same genre, subjectmatter, title, type, actor, character, and/or location. For example, themedia guidance application may identify characteristics corresponding tothe plurality of media assets available to the user on the second deviceand filter the plurality of media assets available to the user on thesecond device based on a presence of the characteristic.

The media guidance application may recommend a second media asset fromthe plurality of media assets available to the user on the second devicebased on the characteristic. For example, upon finding a second mediaasset that is similar to the first media asset, the media guidanceapplication may generate an alert that indicates to the user that thesecond media asset is available on the second device. For example, themedia guidance application may determine a plurality of content typesconsumed by the user during a period of time on the first device anddetermine the characteristic based on a content type of the plurality ofcontent types most frequently consumed by the user.

In some aspects, the media guidance application implemented on controlcircuitry may determine that a user has stopped consuming a first mediaasset at a first location. For example, the media guidance applicationmay determine that the user has stopped consuming the first media assetat the first location by detecting that the user has moved a thresholddistance from the first location. Alternatively or additionally, themedia guidance application may determine that the user has stoppedconsuming the first media asset at the first location comprisesdetecting that the user has stopped interacting with a device at thefirst location.

The media guidance application may determine a trajectory of the user inresponse to determining that the user has stopped consuming the firstmedia asset at the first location. For example, the media guidanceapplication may determine the trajectory by determining a currentlocation of the user and compare the first location to the currentlocation. For example, by determining the difference between the currentlocation of the user and the initial location of the user, the mediaguidance application may determine a direction of the user.

The media guidance application may identify a second location where theuser will consume media content based on the trajectory. For example,the media guidance application may input the trajectory into a databaselisting locations associated with different trajectories from the firstlocation, search the database, and receive an output of the secondlocation in response to searching the database.

The media guidance application may search a database of quality ofservice levels at various locations to determine a quality of serviceavailable at the second location. For example, different locations mayhave different quality of service as measured by error rates, bit rates,throughput, transmission delay, availability, and/or jitter. Thedifferent quality of service may prevent some content (e.g., ahigh-definition video program) from being presented in both locations.For example, low quality of service in a location may allow for onlylow-definition video or audio programs to be presented.

The media guidance application may determine a characteristic of thefirst media asset. For example, the media guidance application mayattempt to recommend a media asset for presentation at the secondlocation that is the same or similar to a media asset recently consumedby the user at the first location. For example, the media guidanceapplication may search for a second media asset that shares the samegenre, subject matter, title, type, actor, character, and/or location.For example, the media guidance application may identify characteristicscorresponding to the plurality of media assets available to the user atthe second location and filter the plurality of media assets availableto the user at the second location based on a presence of thecharacteristic.

The media guidance application recommends a second media asset from aplurality of media assets available to the user at the second locationbased on the characteristic and the quality of service. For example, themedia guidance application may determine a plurality of content typesconsumed by the user during a period of time at the first location anddetermine the characteristic based on a content type of the plurality ofcontent types most frequently consumed by the user. Moreover, the mediaguidance application may identify required quality of service levelscorresponding to the plurality of media assets available to the user atthe second location and filter the plurality of media assets availableto the user at the second location based on whether or not the secondlocation has the required quality of service.

In some aspects, the media guidance application may provide contentrecommendations based on user trajectories. The media guidanceapplication may determine, using control circuitry, that a user hasstopped consuming a first media asset on a first device. For example,the media guidance application may determine that the user has stoppedconsuming the first media asset on the first device by detecting thatthe user has moved from a first location corresponding to first deviceto a second location (e.g., the user has left the viewing area of thefirst device). In another example, the media guidance application maydetermine that the user has stopped consuming the first media asset onthe first device by detecting that the user has stopped interacting withthe first device (e.g., the user has not used the first device for athreshold period of time).

The media guidance application may determine, using the controlcircuitry, a trajectory of the user in response to determining that theuser has stopped consuming the first media asset on the first device.For example, the media guidance application may determine a firstlocation corresponding to the first device, determine a current locationof the user, and compare the first location to the current location todetermine the trajectory.

The media guidance application may identify, using the controlcircuitry, a second device corresponding to the trajectory. For example,the media guidance application may store a second location correspondingto the second device in memory, retrieve the second location of thesecond device from the memory, and determine that the second locationcorresponds to the trajectory. Additionally or alternatively, the mediaguidance application may recommend the second device based on a qualityof service level for the second device being higher than a quality ofservice level for a third device.

The media guidance application may determine, using the controlcircuitry, a content provider for the second device. For example, themedia guidance application may determine the content provider for thesecond device by searching a database listing content providers forvarious devices. In another example, the media guidance application maydetermine the content provider for the second device by querying thesecond device.

The media guidance application may determine, using the controlcircuitry, whether the first media asset is available through thecontent provider. For example, the media guidance application maydetermine whether the first media asset is available through the contentprovider by searching all media guidance data available for the contentprovider for the first media asset.

The media guidance application may provide, using the control circuitry,media guidance data (e.g., a channel number, navigation commands, etc.)for receiving the first media asset from the content provider inresponse to determining that the first media asset is available throughthe content provider. Additionally or alternatively, in response todetermining that the first media asset is not available through thecontent provider, the media guidance application may identify aplurality of media assets available to the user at the second device,filter the plurality of media assets available to the user at the seconddevice based on a comparison of the first media asset and the pluralityof media assets available to the user at the second device, andrecommend a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison.

In some aspects, the media guidance application may provide contentrecommendations based on user trajectories. The media guidanceapplication may determine, using control circuitry, that a user hasstopped consuming a first media asset at a first location. For example,the media guidance application may determine that the user has stoppedconsuming the first media asset at the first location by detecting thatthe user has moved a threshold distance from the first location. Inanother example, the media guidance application may determine that theuser has stopped consuming the first media asset at the first locationby detecting that the user has stopped interacting with a device at thefirst location.

The media guidance application may determine, using the controlcircuitry, a trajectory of the user in response to determining that theuser has stopped consuming the first media asset at the first location.For example, the media guidance application may determine the trajectoryby determining a current location of the user, and comparing the firstlocation to the current location.

The media guidance application may identify, using the controlcircuitry, a plurality of available locations (e.g., which may eachcorrespond to a different device) for the user to consume media contentbased on the trajectory. For example, the media guidance application mayidentify the second location of the plurality of available locationswhere the user will consume media content based on the trajectory, byinputting the trajectory into a database listing locations associatedwith different trajectories from the first location, searching thedatabase, and receiving an output of the second location in response tosearching the database.

The media guidance application may search, using the control circuitry,a database listing a quality of service level for a second location ofthe plurality of available locations and a quality of service level fora third location of the plurality of available locations. For example,the first location may correspond to a first viewing area for a firstdevice and the second location may correspond to a second viewing areafor a second device.

The media guidance application may determine that the quality of servicelevel for the second location is higher than the quality of servicelevel for the third location. For example, the quality of servicequality may be measured based on an error rate, bit rate, throughput,transmission delay, availability, or jitter.

The media guidance application may recommend, using the controlcircuitry, the second location based on the quality of service level forthe second location being higher than the quality of service level forthe third location. For example, the media guidance application mayrecommend a location that provides the best viewing experience for auser.

In some embodiments, the media guidance application may identify aplurality of media assets available to the user at the second location.The media guidance application may filter the plurality of media assetsavailable to the user at the second location based on a comparison ofthe first media asset and the plurality of media assets available to theuser at the second location. The media guidance application may thenrecommend a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison. Themedia guidance application may also provide media guidance data forreceiving the second media asset at the second location.

It should be noted that the systems and/or methods described above maybe applied to, or used in accordance with, other systems, methods and/orapparatuses.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative embodiment of a display screen that may beused to provide media guidance application listings and other mediaguidance information, in accordance with some embodiments of thedisclosure;

FIG. 2 shows another illustrative embodiment of a display screen thatmay be used to provide media guidance application listings, inaccordance with some embodiments of the disclosure;

FIG. 3 is a block diagram of an illustrative device in accordance withsome embodiments of the disclosure;

FIG. 4 is a block diagram of an illustrative media system in accordancewith some embodiments of the disclosure;

FIG. 5 shows an illustrative embodiment of a set of display screens usedto provide recommended content, in accordance with some embodiments ofthe disclosure;

FIG. 6 is a flowchart of illustrative steps involved in recommendingcontent on a second device based on content recently consumed by a useron the first device, in accordance with some embodiments of thedisclosure;

FIG. 7 is a flowchart of illustrative steps involved in determining thata user stopped using a first device and is using a second device, inaccordance with some embodiments of the disclosure;

FIG. 8 is a flowchart of illustrative steps involved in selecting amedia asset based on a trajectory of a user in accordance with someembodiments of the disclosure; and

FIG. 9 is a flowchart of illustrative steps involved in selecting amedia asset based on a quality of service at a location in accordancewith some embodiments of the disclosure;

FIG. 10 is a flowchart of illustrative steps involved in selecting amedia asset based on quality of service in accordance with someembodiments of the disclosure;

FIG. 11 is pseudocode describing the steps involved in selecting a mediaasset based on a quality of service at a location in accordance withsome embodiments of the disclosure;

FIG. 12 is a flowchart of illustrative steps involved in identifyingcontent providers at a device selected based on the trajectory of a userin accordance with some embodiments of the disclosure; and

FIG. 13 is a flowchart of illustrative steps involved in recommending alocation based on the quality of service level for that location inaccordance with some embodiments of the disclosure.

DETAILED DESCRIPTION

Systems and methods are described herein for a media guidanceapplication that recommends media content to a user based on the mediacontent likely to be available to a user in at a given location or on agiven device. As referred to herein, a “media guidance application” or a“guidance application” is an application that provides media guidancedata to a user through an interface. For example, a media guidanceapplication may allow users to efficiently navigate content selectionsand easily identify content that they may desire. The media guidanceapplication and/or any instructions for performing any of theembodiments discussed herein may be encoded on computer readable media.Computer readable media includes any media capable of storing data. Thecomputer readable media may be transitory, including, but not limitedto, propagating electrical or electromagnetic signals, or may benon-transitory including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media cards, register memory, processor caches, RandomAccess Memory (“RAM”), etc.

As referred to herein, the phrase “media guidance data” or “guidancedata” should be understood to mean any data related to content or dataused in operating the guidance application. For example, the guidancedata may include program information, guidance application settings,user preferences, user profile information, media listings,media-related information (e.g., broadcast times, broadcast channels,titles, descriptions, ratings information (e.g., parental controlratings, critic's ratings, etc.), genre or category information, actorinformation, logo data for broadcasters' or providers' logos, etc.),media format (e.g., standard definition, high definition, 3D, etc.),advertisement information (e.g., text, images, media clips, etc.),on-demand information, blogs, websites, and any other type of guidancedata that is helpful for a user to navigate among and locate desiredcontent selections.

The media guidance application may also automatically determine thegiven location or given based on a current trajectory of the user, andrecommend a media asset from the media content available at thatlocation or on that device. As used herein, a “trajectory” of a userrefers to a direction that a user is moving through space according todetected components. As used herein, a “component” of the trajectoryrefers to any characteristic of a user interaction that may affect thetrajectory. For example, components may include the speed or velocity,the direction or angle, and/or any other measurement that may affect thetrajectory. The trajectory may be expressed in any suitable units and istypically described in reference to a starting point. In someembodiments, the starting point is a first location or a location of afirst device. The media guidance application may use the first location(or location of the first device) as described in suitable coordinates(e.g., global positioning coordinates) to determine where the trajectoryof the user is likely to lead the user.

In some embodiments, a trajectory may also include a mode oftransportation. For example, the media guidance application maydetermine whether the user is walking or driving a car to determine alocation that the user may go or is going. In such cases, informationabout the mode of transportation may be used by the media guidanceapplication. For example, locations of train stations (e.g., if the useris moving via a train) may be used by the media guidance application todetermine a trajectory.

When determining a trajectory, the media guidance application determinea first location corresponding to a first device, first location, firstviewing area, etc. associated with the previous coordinates (e.g., GPScoordinates) of the user. The media guidance application may thendetermine a current location of the user. For example, the mediaguidance application may detect a user through the use of updated GPScoordinates, object recognition, social media posts, and/or any othertechnique (e.g., as discussed below in relation to FIG. 3). The mediaguidance application may then compare the first location to the currentlocation to determine the trajectory. For example, the media guidanceapplication may determine a difference between two sets of coordinatesto determine a direction of a user.

As used herein, “location” refers to any relative or absolute identifierof a position of a user or device. For example, the location of the usermay be relative to a geographical coordinate, vector for direction,street address, name of building, or any other suitable identifier. Inanother example, the location may be relative to a property type (e.g.,restaurant, hardware store, movie theatre, post-office, personalresidence, place of business, etc.). As referred to herein, a “propertytype” refers to a location associated with a specific purpose, specificuser, or function. For example, a first property type may be the home ofa first user. A second property type may be the home of a second user.Furthermore, the media content available at one property type may differfrom the media content available at the second property type. Forexample, the first user may subscribe to a different cable provider orOTT content provider than the second user. Thus, the media contentavailable to the first user at the residence of the first user may bedifferent than the media content available to the second user at theresidence of the second user.

In some embodiments, the location may also refer to a coverage area. Forexample, the location may refer to a particular entity that governs,administers, controls, and/or provides network coverage for thelocation. For example, the media guidance application may determine thata first location may be associated with a first wireless network (e.g.,a home network of a first user) and that a second location may beassociated with a second wireless network (e.g., a home network of asecond user). Moreover, a first location may refer to a geographic areawith a first level of coverage (e.g., a first quality of service) and asecond location may refer to a geographic area with a second level ofcoverage (e.g., a second quality of service). For example, while, insome embodiments, a location may be indicated by coordinates in ageographic coordinate system (e.g., latitude or longitude), or a globalpositioning system (GPS), in some embodiments, additionally oralternatively, a location may be determined by other information such asthe property type, network coverage, and/or the amount, type, oraccessibility of media content at the location.

In some embodiments, a location may be associated with one or moreparticular devices, content providers, quality of service, etc. Suchinformation may be stored in a database either local or remote to themedia guidance application. Furthermore, the database may be populatedwith information from a service provider, content provider, a user,and/or any third party. Additionally or alternatively, the mediaguidance application may query one or more devices to determineparticular locations associated with the device. For example, eachdevice may retrieve an associated location (or determine an associatedlocation) based on GPS coordinates. A location may include one or moredevices, in which each device is associated with a viewing area.

As used herein, a “viewing area” refers to the maximum distance from auser device, in all directions, in which a user could feasibly consume amedia asset present on the user device. For example, if the user deviceis a television, the viewing area may refer to the maximum distance fromthe television at which the average user can understand the contentpresented. In some embodiments, the viewing area may correspond to aperceivable range. Various systems and methods for detecting whether ornot a user is within a range are discussed in, for example, Shimy, U.S.Patent Application Publication No. 2011/0069940, published May 24, 2011,which is hereby incorporated by reference herein in its entirety.

In some cases, the size of a viewing area is a function of the obstaclessurrounding the user device. For example, if a personal computer residesin a small room with walls that prevent a user on an opposite side ofthe walls from understanding content presented on the personal computer,then the viewing area of personal computer corresponds to the areawithin the walls. Alternatively, if one of the walls were removed, suchthat a user, formerly opposite of the removed wall from the personalcomputer, can now understand the content presented on the personalcomputer, the viewing area associated with the personal computer has nowexpanded in the direction of the removed wall.

In some cases, the size of a viewing area is a function of the objectssurrounding the user device. For example, if a television resides in aroom with other devices, the audio output of which prevent a user aparticular distance away from the television from hearing contentpresented on the television, then the viewing area of the televisioncorresponds to the maximum distance away from the television that theuser can hear content presented on the television due to the audiooutput of the other devices. Alternatively, if one of the other deviceswere removed, such that a user that could not previously hear contentpresented on the television can now hear the content presented on thetelevision, the viewing area associated with television has now expandeddue to the removal of the other device.

In some embodiments, the viewing area associated with a user device maycorrespond to the predetermined proximity to the user device.

Alternatively, the predetermined proximity may refer to another area,which may or may not be associated with geographical boundaries and/ordistances. For example, the predetermined proximity may refer to afinite measurement of distance from a user device.

In another example, the predetermined proximity may refer to an area atwhich user devices may connect with a network (e.g., a home network),not necessarily the distance or other relationship of a user to the userdevice. For example, to determine whether or not a user is within aviewing area, the media guidance application may base its determinationon whether or not the user device can connect to a home network. Forexample, a user device such as a smartphone may be carried by a userfrom a viewing area (e.g., an area where the user device can receive andconsequently present a media asset) to an area outside the viewing area(e.g., an area where the user device cannot receive or present the mediaasset).

In another example, to determine whether or not a user device is withina viewing area of a user device, the media guidance application may baseits determination on data received from a global positioning system(e.g., indicating that the user is within a particular geographicalboundary and/or distance). In yet another example, to determine whetheror not a user is within a predetermined proximity to a user device, themedia guidance application may base its determination on whether or nota user input is received indicating that the first user is within theviewing area.

In some embodiments, the media guidance application may detect that auser in the viewing area has left the viewing area. For example, adetection module incorporated into or accessible by the media guidanceapplication may monitor the viewing area to determine if and when a useris within or outside the viewing area. The media guidance applicationmay employ numerous techniques for determining when a user enters orexits a viewing area as discussed in relation to detection module 316(FIG. 3).

The media guidance application may receive this information in numerousways. For example, the media guidance application may receive a userinput that indicates the current geographic coordinates, property type,network coverage, and/or media content available at a location. Forexample, upon arriving at a location the media guidance application mayreceive a user input of a name of the location.

In some embodiments, a user device, upon which the media guidanceapplication is implemented, may use GPS data (e.g., received from a GPSdevice incorporated into or accessible by the media guidance applicationthat identifies the current geographic coordinates), object-recognitiondata (e.g., received from a object-recognition module incorporated intoor accessible by the media guidance application that identifies anobject associated with a particular location), or other data todetermine the current location of the user.

As referred to herein, a media asset is “accessible” at a location basedon whether or not a user may obtain a media asset for consumption on apermanent or temporary basis at one or more points in the future as aresult, directly or indirectly, of subscribing to, paying for, orotherwise requesting the media asset. In some embodiments, the mediaguidance application may use additional criteria to determine whether ornot a media asset is accessible from a service. For example, the mediaguidance application may determine that a media asset is accessible at asecond location based on the subscription status of a device at thatlocation with respect to one or more content providers that provide themedia asset.

In some embodiments, the media guidance application may determine inwhich formats a media asset is accessible and what quality of service,as further described below, is necessary to receive that format. Themedia guidance application may use this information to determine whetheror not a media asset is accessible from a location. For example, themedia guidance application may determine that an on-line movie isaccessible from one location (e.g., a first user's residence that hasWi-Fi access to the Internet). In another example, the media guidanceapplication may determine that a radio broadcast is accessible from asecond location (e.g., a car radio within the radio station's broadcastrange).

In some embodiments, the media guidance application may recommend mediacontent. Moreover, in order to recommend content having the greatestinterest to a user at a particular time, the media guidance applicationbases the recommendations it is providing on content recently consumedby the user on a first device. Specifically, the media guidanceapplication may monitor content that the user recently consumed on afirst device (e.g., a set-top box connected to a television) and maythen recommend other content for consumption to the user on a seconddevice (e.g., smart phone) based on the content that the user recentlyconsumed on the first device.

For example, just prior to a user leaving her home, the user may bewatching a news story about an approaching winter storm on a television.When the user leaves her home, the media guidance application maydetermine that the user is likely going to her car. Therefore, the mediaguidance application may search content available in the user's car oron the user's smart phone (which may be accessed from the car) forprograms that include information about the approaching winter storm.For example, if the media guidance application determines that the userdoes not have access to the same news program in her car that the userconsumed in her house, the media guidance application may recommendsimilar content (e.g., a radio station news broadcast reporting on thewinter storm). Additionally or alternatively, if the media guidanceapplication determines that while the user does have access to the samenews program in her car (e.g., she could watch the program on hersmartphone) that the smartphone is unlikely to be able to receive theprogram due to quality of service issues, the media guidance applicationmay recommend corresponding audio or textual data that will be lessaffected by the quality of service issues.

As referred to herein, the terms “media asset” and “content” should beunderstood to mean an electronically consumable user asset, such astelevision programming, as well as pay-per-view programs, on-demandprograms (as in video-on-demand (VOD) systems), Internet content (e.g.,streaming content, downloadable content, Webcasts, etc.), video clips,audio, content information, pictures, rotating images, documents,playlists, websites, articles, books, electronic books, blogs,advertisements, chat sessions, social media, applications, games, and/orany other media or multimedia and/or combination of the same. Guidanceapplications also allow users to navigate among and locate content. Asreferred to herein, the term “multimedia” should be understood to meancontent that utilizes at least two different content forms describedabove, for example, text, audio, images, video, or interactivity contentforms. Content may be recorded, played, displayed or accessed by userequipment devices, but can also be part of a live performance.

As referred to herein, the phrase “user equipment device,” “userequipment,” “user device,” “electronic device,” “electronic equipment,”“media equipment device,” or “media device” should be understood to meanany device for accessing the content described above, such as atelevision, a Smart TV, a set-top box, an integrated receiver decoder(IRD) for handling satellite television, a digital storage device, adigital media receiver (DMR), a digital media adapter (DMA), a streamingmedia device, a DVD player, a DVD recorder, a connected DVD, a localmedia server, a BLU-RAY player, a BLU-RAY recorder, a personal computer(PC), a laptop computer, a tablet computer, a WebTV box, a personalcomputer television (PC/TV), a PC media server, a PC media center, ahand-held computer, a stationary telephone, a personal digital assistant(PDA), a mobile telephone, a portable video player, a portable musicplayer, a portable gaming machine, a smart phone, or any othertelevision equipment, computing equipment, or wireless device, and/orcombination of the same.

In some embodiments, the user equipment device may have a front facingscreen and a rear facing screen, multiple front screens, or multipleangled screens. In some embodiments, the user equipment device may havea front facing camera and/or a rear facing camera. On these userequipment devices, users may be able to navigate among and locate thesame content available through a television. Consequently, mediaguidance may be available on these devices, as well. The guidanceprovided may be for content available only through a television, forcontent available only through one or more of other types of userequipment devices, or for content available both through a televisionand one or more of the other types of user equipment devices. The mediaguidance applications may be provided as on-line applications (i.e.,provided on a web-site), or as stand-alone applications or clients onuser equipment devices. Various devices and platforms that may implementmedia guidance applications are described in more detail below.

In some embodiments, the media guidance data provided by the mediaguidance application may appear as a recommendation of media content.For example, a user may consume content on an electronic tablet whilecommuting from work to her home. The media guidance application maydetermine that the user was watching romantic comedies on the electronictablet during her commute, and based on that, recommend to the userother romantic comedies to watch on the user's television via a set-topbox.

In some embodiments, a media guidance application may generate fordisplay recommendations in response to determining that a user hasstopped using a first device and is using a second device. To determinewhen a user is using or otherwise interacting with a particular device,the media guidance application may employ numerous techniques. Forexample, the first device may be a set-top box and a second device maybe smart a phone. The media guidance application may determine that theuser is using the set-top box by detecting user input (e.g., tuning to aspecific channel) into the set-top box. The user may interact with theset-top box by direct contact, via a remote control, via another device,via voice commands, or any other means available to the user.

The media guidance application may catalogue the use of each device todetermine whether or not a user is interacting with the device. Forexample, every time the media guidance application detects a user inputinto the set-top box, the media guidance application may start a timerto keep track of the amount of time passed since the user input. Whenthe timer reaches a threshold number, the media guidance application maydetermine that the user has stopped using the set-top box. The mediaguidance application may also start monitoring other devices for userinput. Once user input is detected on another device, the media guidanceapplication may determine that the user is using a second device.

In some embodiments, the media guidance application may, in response todetermining that the user has stopped using the first device and isusing the second device, retrieve a threshold length of time frommemory. As referred to herein, a “threshold length of time” is a lengthof time used to indicate media content recently consumed by a user on adevice. For example, the threshold length of time may begin at a pointin time when a user starts consuming media content on a second device(or stops consuming media content on a first device) and extendbackwards through time to a point in time during which a user wasconsuming media content on a first device. The media guidanceapplication may determine media content consumed by the user from thepoint in time during which the user was consuming media content on thefirst device to a point in time at which the user stopped consumingmedia content on the first device. The media guidance application maythen identify the determined media content as media content recentlyconsumed by the user. This recently consumed media content may be usedby the media guidance application to determine additional media content(and/or determine criteria for the additional media content) that a userwould like to consume on a second device when the user begins to consumemedia content on the second device.

The threshold length of time may be calculated in various units ofmeasure. For example, the threshold length of time may be calculated inseconds, minutes, and/or other increments of time. Alternatively oradditionally, the threshold length of time may be calculated in a numberof media assets consumed by the user. For example, the threshold lengthmay correspond to a particular number of songs previously consumed bythe user. For example, the media guidance application may baserecommendations for additional media content on a device on the lastfour songs previously consumed by a user on a different device.

The media guidance application may select the points in time that definethe threshold length of time based on various criteria. For example, thepoints in time may be determined based on when a user started using asecond device, when a user stopped using a first device, the length oftime between using the first device and the second device, the type ofdevice used to consume the media content, the type of content consumedby the user on the devices, etc.

For example, the media guidance application may be activated on a firstdevice (e.g., an electronic tablet) and on a second device (e.g., asmart phone). When the user starts consuming media content on theelectronic tablet, the media guidance application may activate a timeron the electronic tablet. When the media guidance application determinesthat the user stopped consuming the media content on the electronictablet and started using the smart phone, it may transmit a request tothe electronic tablet to stop the timer and to transmit the timer'selapsed time to the smart phone. Once the smart phone receives thatelapsed time, the value may be stored in memory for later retrieval.

In another example, the media guidance application may store, in memory,a time when the user starts consuming media content on a first device(“Start Time”). When the media guidance application determines that theuser is using the second device, it may request that the Start Time betransmitted from the first device to the second device. Once the mediaguidance application receives the Start Time on the second device, themedia guidance application may calculate the threshold length of timebased on the difference between the current time and the Start Time. Thethreshold length of time may then be stored in memory for laterretrieval.

In yet another example, the media guidance application may determinethat the user is consuming media content in intervals. The user may beconsuming media content on an electronic tablet. The user may, forexample, be watching Internet videos on the tablet. However, whilewatching the Internet videos, the user may be interrupted because shemay need to help her children with their homework. While the user ishelping her children with their homework, the Internet videos may becontinuing to play on the electronic tablet, but the user is notconsuming the videos during that time. The media guidance applicationmay determine that the interruption is occurring by detecting, via acamera for example, that the user is not looking at the tablet. When theuser is done helping her kids with their homework, she may resumewatching the internet videos. As a result the media guidance applicationmay store two threshold lengths of time in order to take into accountthe interruption.

In yet another example, the media guidance application may determine athreshold length of time based on the media asset the user was consuminglast. For example, the user may be watching an episode of “Saved by theBell” on a television via a set-top box. If the user has to leave herhome, she may take her electronic tablet with her. The media guidanceapplication may determine that the threshold length of time is theamount of time the user spent watching “Saved by the Bell” because theuser may want to watch another “Saved by the Bell” episode on herelectronic table.

In some embodiments, the media guidance application may determine aperiod of time beginning at a point in time when the user began usingthe second device and extending backwards for the threshold length oftime. For example, the media guidance application may retrieve thecurrent time from the second device and store it in memory as endingtime for the period. The media guidance application may furtherdetermine the starting time for the period by subtracting the thresholdlength of time from the ending time. The ending time and the startingtime together may then be stored in memory to indicate the period oftime.

In some embodiments, the media guidance application may determine firstmedia content consumed by the user on the first device during the periodof time. For example, the media guidance application may determine thatthe user watched “Dumb and Dumber” and “The Big Bang Theory” on thefirst device (e.g., a television via set-top box). As part ofdetermination, the media guidance application may analyze media contentlistings associated with the two media assets and may store theinformation in those content listings for retrieval at a later time.

In another example the user may have consumed media content on the firstdevice (e.g., an electronic tablet) that does not have content listingsassociated with it (e.g., Internet videos). The media guidanceapplication may store in memory characteristics associated with theconsumed media content. As defined herein, a “characteristic” is anyinformation about a media asset that may be used to categorize the mediaasset and/or distinguish the media asset from other media assets. Forexample, characteristics of media content may include any informationabout the media content as well as any information within the mediacontent. For example, characteristics may be genre, title, length,source, actors, etc. If a user started watching an Internet video, themedia guidance application may keep track of characteristics associatedwith the video. These characteristics may be retrieved from the Internetvideo itself, meta-data associated with the video, or the Internet sitethat is making the Internet video available to users. Once the mediaguidance application retrieves these characteristics it may store themon the first device. These characteristics may later be sent to thesecond device.

In some embodiments, the media guidance application may determine acharacteristic of the first media content. For example, if the user islistening to the radio while commuting in her car, she may be listeningto rock music only. As a result the media guidance application maydetermine that “rock music” is a characteristic of the first mediacontent. Alternatively, or additionally, the media guidance applicationmay determine that a characteristic of the first media content is musicby a specific rock band and/or artist based on the user listening tomusic by that rock band or artist.

In some embodiments, the media guidance application may determine themost popular or prevalent subset of media content recently consumed bythe user. For example, all of the videos watched by the user may nothave a common characteristic, but a subset of the videos may (e.g., thesubset may correspond to a cooking show genre). The media guidanceapplication may determine the characteristic based on that subset only.For example, if the media guidance application determines that a userwatched a hockey game, three cooking shows, and a news program, themedia guidance application may determine, based on the program listingsassociated with those programs, for example, that the programs have nocommon characteristics associated with them. However, the cooking showshave a common characteristic associated with them. As a result, themedia guidance application may determine the characteristic of the firstmedia content based on the cooking shows only.

In yet another example, the media guidance application may determinethat the videos watched by the user may be divided into a number ofsubsets where each subset shares a characteristic. The media guidanceapplication may determine that a characteristic of the first mediacontent may be the subset that has the most videos associated with it.Alternatively or additionally, the media guidance application maydetermine multiple characteristics of the first media content. Forexample, these multiple characteristics may be based on the subsetsdescribed above. The media guidance application may further rank thesubsets based on the amount of time the user consumed content associatedwith a particular subset. For example, if the user was watching a 2-hourmovie on an electronic tablet and then a 15-minute news segment, themedia guidance application may rank the subset that includes the 2-hourmovie higher then the subset that includes the 15-minute news segment.Additionally, or alternatively, the media guidance application may rankthe subsets based on the number of media assets in each subset. Forexample, the user may have listened to ten 3-minute rock songs on hersmartphone and also watched an hour long episode of “Star Trek”. Themedia guidance application may determine two characteristics for theconsumed media content. The first characteristic may be “rock music” andthe second “sci-fi shows”. The ten rock songs may go into the firstsubset and “Star Trek” may go into the second subset. “Rock music” maybe ranked higher because of ten songs in the subset versus only oneshow, despite the show being longer. There may be other ranking criteriafor the characteristics. These can be ranked based on user preferencesin the user profile. They can be also based on what content was consumedmost recently and whether the user consumed the whole program associatedwith the characteristic or whether the user switched to another programin the middle.

In another example the ranks may be determined by a weighted average ofsome or all the methods described above. For example, if a user watcheda 2-hour movie and listened to ten 3-minute songs, the media guidanceapplication may determine that each 3-minute song is equivalent toconsuming eighteen minutes of the movie. As a result the rank of thecharacteristic may be determined based on both the length of the mediacontent and the number of the media assets.

In some embodiments, the media guidance application may recommend, basedon the characteristic, second media content for consumption on thesecond device. For example, the media guidance application may receivethe characteristic of the first media content on the second device. Oncethe second device receives the characteristic, the media guidanceapplication may search media content available on the second device formedia assets that match the characteristic. For example, thecharacteristic of the first media content consumed on a set-top boxconnected to a television may be “Sherlock Holmes,” based on a userwatching movies featuring this character. If the user switches to asmart phone as her second device, the media guidance application maysearch the smart phone for “Sherlock Holmes” media content. If theuser's smart phone has access to media listings, the media guidanceapplication may search those listings for “Sherlock Holmes.”Additionally or alternatively, if the user's smart phone has access tothe Internet through a cellular and/or Wi-Fi connection, the mediaguidance application may search Internet sites for content matching“Sherlock Holmes.” As an example, the media guidance application may useany commercial search engine for this search. The media guidanceapplication may narrow down the search, if appropriate, to only videoassets (e.g., movies), audio assets (e.g., audio books, narratives),and/or textual content (e.g., short stories). If the media guidanceapplication receives multiple characteristics on the second device, itmay execute the search described above for each of the characteristicsreceived and return media content recommendations corresponding to eachcharacteristic. The characteristics may be ranked as described above. Ifthe characteristics are ranked, the media guidance application may onlypresent to the user media content associated with the highest rankedcharacteristic or it may present to the user content in order of therankings.

In some embodiments, the media guidance application may store a list ofdevices associated with the user and recommend, based on thecharacteristic, the second media content for consumption on each devicein the list of devices. For example, a user may have three devicesassociated with her (e.g., a set-top box connected to a television, anelectronic tablet, and a smart phone). The user may be consuming mediacontent on the set-top box connected to a television. The user may stopusing the set-top box and start using the electronic tablet. As aresult, the media guidance application may recommend media contentavailable on the electronic tablet based on the characteristic. If theuser later starts using her smart phone, the media guidance applicationmay recommend media content available on the smart phone based on thecharacteristic.

As described herein, a media guidance application may verify a qualityof service between a user device and one or more content providers. Asreferred to herein, “quality of service” refers to the quality, asreceived by an end user, in a telephone or computer network. The qualityof service may be measured by and/or reflect one or more aspects ofnetwork services, such as error rates, bit rate, throughput lag,transmission delay, availability, jitter, etc. as seen from theviewpoint of the sender or receiver of information.

As described in Peuhkuri M., IP Quality of Service, Helsinki Universityof Technology, Laboratory of Telecommunications Technology, 1999., whichis herein incorporated by reference, in packet-switched networks,quality of service is affected by various factors, which can be dividedinto “human” and “technical” factors. Human factors include: stabilityof service, availability of service, delays, user information. Technicalfactors include: reliability, scalability, effectiveness,maintainability, grade of service, etc.

The quality of service may be based on a minimum bandwidth and maximumdelay that is acceptable. For example, a particular application (e.g.,an application that includes videoconferencing and thus has places highdemands on the network) may have different acceptable minimum bandwidthand maximum delay than another application (e.g., an application that islimited to textual data transmission and thus has lower demands on thenetwork). For example, in order determine a guaranteed quality ofservice associated with different content providers, the media guidanceapplication may compare the available bandwidth and maximum delayassociated with each content providers. For example, for each contentprovider, the media guidance application may use the following formulato calculate maximum delay, d_(max), where b is a token bucket depth, ris a bucket rate, p is a token bucket plus peak rate, M is a maximumdatagram size, R is a bandwidth allocated to connection, C_(tot) is aend-to-end sum of rate-dependent error terms, and D_(tot) is aend-to-end sum of rate-independent, per-element error terms.

d _(max)=((b−M)/R)*(p−R)/(p−r))+(M+C _(tot))/(R+D _(tot)), p>R≧r

d _(max)=((b−M)/R)*(p−R)/(p−r))+(M+C _(tot))/(R+D _(tot)), ≦p≦R

The media guidance application may then compare the quality of servicefor different content providers of the same media asset to determinewhich content provider of a particular media asset provides the highestquality of service to a user device. Based on this comparison, the mediaguidance application may select which content provider to use to offer auser device access to a media asset, may rank the various contentproviders, or may determine whether or not a media asset from thecontent provider should be offered to a user, as discussed below.

For example, quality of service may refer to a performance level that isrequired in order to provide particular types of content. For example,the delivery of content in a larger size or particular format may bemore demanding on a network. Accordingly, to deliver such content to auser, the computer network may require a higher performance or achievedservice quality (e.g., a high bit rate, low latency, and low bit errorprobability). The media guidance application may verify the performancelevel offered using a specific content provider is acceptable before themedia guidance application offers media assets from that contentprovider for consumption by a user. By providing this verificationservice, the media guidance application ensures a high level of userexperience. For example, because the performance level has beenverified, the media guidance application will not facilitate aconnection to a content provider the will result in a low quality ofservice and poor user experience.

To test for the various variables in determining quality of service, themedia guidance application may measure bandwidth, jitter, latency, andpacket loss. For example, the media guidance application may incorporateand/or have access to one or more modules to test for eachcharacteristic of the quality of service. The testing may includequerying one or more devices to generate statistics such asout-of-sequence counts and detecting errors in data packets such aschecksum errors (e.g., according to a parity byte or parity wordalgorithm, modular sum algorithm, position-dependent algorithm, etc.).Additionally, the media guidance application may ping one or moredevices for data to determine these measurements. For example, in orderto test latency, the media guidance application may test both thenear-end to far-end and the far-end to the near-end directionssimultaneously.

In some embodiments, the media guidance application may determine aquality of service based on the weighted averages of one or morecharacteristics of the quality of service. As referred to herein, a“characteristic” of the quality of service is any variable that affectsthe quality of service. For example, the characteristics may includeerror rates, bit rate, throughput lag, transmission delay, availability,jitter, etc. as seen from the viewpoint of the sender or receiver ofinformation. Additionally or alternatively, the characteristics mayinclude any variable used to determine a maximum delay in a guaranteedquality of service, as discussed above. Moreover, the characteristicsthat are used to determine the quality of service may vary. For example,the media guidance application may select only characteristics for whichstatistical data may be generated, or for which the media guidanceapplication may verify through suitable means.

Additionally or alternatively, the characteristics may be selected basedon industry standards, user selections, or a factory default.

Furthermore, the media guidance application may weigh each of thesecharacteristics differently when determining the quality of service. Forexample, particular characteristics may in some situations be moreindicative of the quality of service. For example, the data used tomeasure a first characteristic may be more precise, more accurate, morerobust, etc. than the data used to measure a second characteristic.Accordingly, the media guidance appliance may weigh the firstcharacteristic more heavily than the second characteristic in thedetermination of the quality of service.

It should also be noted that the quality of service (or the measurementsof particular characteristics) may be determine continually or atpredetermined times, and/or in response to particular inputs. Forexample, the media guidance application may continuously determine thequality of service for a user device to receive media assets fromdifferent content providers. At any time that the media guidanceapplication requires the quality of service (e.g., in order to generatemedia listings from a particular content provider), the media guidanceapplication may retrieve the current quality of service. Alternativelyor additionally, the media guidance application may determine thequality of service at predetermined times (e.g., on the hour each hour).Alternatively or additionally, the media guidance application maydetermine the quality of service in response to a user request to accessmedia assets, access an aggregation of content providers, accessing themedia guidance application, turning on a user device, etc.

In some embodiments, the media guidance application may retrieve athreshold quality of service. A threshold quality of service may be anyquality of service that triggers a particular action by the mediaguidance application. For example, the threshold quality of service maybe based on an industry standard, a user selection, or a factorydefault. Moreover, the threshold quality of service may dynamicallychange depending on overall network conditions and/or user selections.For example, when network conditions become strained (e.g., there is anincrease load on the system), the threshold quality of service may bedecreased to allow for more media assets to be available to the user.Alternatively, when network conditions become strained, the thresholdquality of service may be increased to ensure that the user experienceis not affected by the network conditions. Likewise, when the userelects to lower the potential demand on the network (e.g., request onlystandard definition media assets), the threshold quality of service maybe adjusted to reflect the lower demand on the network.

In some embodiments, determining that the user has stopped using thefirst device and is using the second device comprises detecting that theuser has moved from a first location that is associated with the firstdevice to a second location that is associated with the second device.For example, the user's home entertainment system may be associated withthe user's home and the user's car entertainment system may beassociated with the user's car. A user may be listening to music on herhome entertainment system. When the media guidance applicationdetermines that the user has now activated her car entertainment system,the media guidance application may determine that the user stopped usingthe first device and is using the second device.

In some embodiments, determining that the user has stopped using thefirst device and is using the second device comprises detecting that theuser has stopped interacting with the first device and is interactingwith the second device. For example, a user may be using her smart phoneto listen to music. The media guidance application may be detectingevery user input into the smart phone and storing the time of the userinput. The media guidance application may activate a timer when userinput is detected and also store in memory the last input timecorresponding to the current time. Once the timer reaches a thresholdvalue, the media guidance application may make a preliminarydetermination that the user has stopped using the smart phone. The mediaguidance application may then monitor a second device for user input. Ifuser input is detected on the second device, the media guidanceapplication may determine that the user has stopped using the firstdevice and is using the second device. However, if user input isdetected on the first device after the threshold value has been reached,the media guidance application may update the last input time with a newtime and restart the timer.

In some embodiments, the first media content comprises video content andthe second media content consists of audio content. For example, theuser may be watching a movie on a first device (e.g., electronic tablet)and then switch to a device that only supports audio (e.g., car radio).As a result, the characteristic of the first media content on the firstdevice may be based on media content comprising video and therecommendation on the second device may be of an audio only content.

In some embodiments, the threshold length of time is based on an amountof time the user continuously used the first device immediately beforeusing the second device. For example, a user may be consuming content onan electronic tablet throughout the day. She may watch the news in themorning, some soap operas in the afternoon, and some Internet videos anda news program in the evening. As a result, the media guidanceapplication may store a threshold length of time based only on the timethe user was consuming the Internet videos and the news program in theevening. Since the media content consumed in the morning and in theafternoon was not consumed continuously with the content consumed in theevening, this content is not used in the threshold length of time.Alternatively or additionally, the media guidance application maydetermine the characteristics based on sporadic use of the first device.

In some embodiments, determining the characteristic of the first mediacontent comprises determining a plurality of content types consumed bythe user during the period of time on the first device and determiningthe characteristic based on a content type of the plurality of contenttypes most frequently consumed by the user. For example, the mediaguidance application may divide media content into content types, basedon the characteristics of the media content. The types of media contentmay be movies, news programs, episodes of a series, music, music videos,cartoons, sporting events, sitcoms, etc. Media content may be furthersubdivided. For example, movies may be divided into action, comedies,romance, documentaries, classics, children, dramas, horror, thrillers,etc. Cartoons may be divided into adult cartoons and children'scartoons. The media guidance application may determine thecharacteristic of the media content based on media content listingsassociated with specific media assets, it may be retrieving thosecharacteristics from a website providing the media assets, it may beaccessing meta-data associated with the media assets for thecharacteristics, or it may be retrieving that information from adatabase. An example of such a database may be found at www.imdb.com.The media guidance application may determine that the user has consumedsitcoms, news programs and music videos on the first device. The mediaguidance application may determine the type of content of each of thosemedia assets, based on the media content listings for those mediaassets. The media guidance application may then determine which type ofmedia content the user has consumed most frequently. For example, theuser may have consumed a total of three hours of media content on thefirst device. The user may have consumed two hours of sitcoms, thirtyminutes of music videos, and a thirty minute news program. As a result,the media guidance application may determine the characteristic based ononly the two hours of sitcoms that the user consumed. In anotherexample, the media guidance application may determine the characteristicof the first media content based on the type of content the userconsumed last. As a result, in the example above, if the user consumedtwo hours of sitcoms, a thirty minute news program, and thirty minutesof music videos in that order, the media guidance application maydetermine the characteristic of the first media content based on thethirty minutes of music videos only.

In some embodiments, the media guidance application may generate analert that indicates to the user that the second media content isavailable on the second device. An “alert,” as defined herein, may beany communication to a user that apprises the user of one or moreoccurrences. For example, the alert may alert the user of theavailability of media content recommendations that are based on contentrecently consumed by the user on a different device. It should be notedthat the alert may include audio, video, and/or text based alerts.

In some embodiments, an alert may be generated together with a listingof recommended media content. For example, if a media guidanceapplication determines that a content recommendation is available, themedia guidance application may notify the user of the availability ofthe media content recommendation by having the second device alert theuser (e.g., through a vibration, an audio tone, a visual cue, etc.). Themedia guidance application may alert the user of the available mediacontent recommendation in different ways based on the type of mediacontent that is available. For example, if the available recommendationis for a movie, the media guidance application may notify the userthrough a visual cue. If the recommendation is for a song, the mediaguidance application may generate an audio tone. The media guidanceapplication may also notify the user of the number of media assetsrecommended to the user. For example, if the media guidance applicationdetermines that three media assets are being recommended to a user, themedia guidance application may cause the electronic tablet to vibratethree times. Of course, if many media assets are recommended, the mediaguidance application may vibrate a maximum of five times in order toavoid irritating the user. Additionally or alternatively, the mediaguidance application may generate for display, to the user, a visual cueof a number of media assets that are recommended.

As referred herein, the term “in response to” refers to initiated as aresult of. For example, a first action being performed in response toanother action may include interstitial steps between the first actionand the second action. As referred herein, the term “directly inresponse to” refers to caused by. For example, a first action beingperformed directly in response to another action may not includeinterstitial steps between the first action and the second action.

FIGS. 1-2 show illustrative display screens that may be used to providemedia guidance data. The display screens shown in FIGS. 1-2 may beimplemented on any suitable user equipment device or platform. While thedisplays of FIGS. 1-2 are illustrated as full screen displays, they mayalso be fully or partially overlaid over content being displayed. A usermay indicate a desire to access content information by selecting aselectable option provided in a display screen (e.g., a menu option, alistings option, an icon, a hyperlink, etc.) or pressing a dedicatedbutton (e.g., a GUIDE button) on a remote control or other user inputinterface or device. In response to the user's indication, the mediaguidance application may provide a display screen with media guidancedata organized in one of several ways, such as by time and channel in agrid, by time, by channel, by source, by content type, by category(e.g., movies, sports, news, children, or other categories ofprogramming), or other predefined, user-defined, or other organizationcriteria.

Media guidance applications may take various forms depending on thecontent for which they provide guidance. One typical type of mediaguidance application is an interactive television program guide.Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof content or media assets. Media guidance applications may generategraphical user interface screens that enable a user to navigate among,locate and select content. An example of a media guidance application isshown in FIG. 1.

FIG. 1 shows illustrative grid of a program listings display 100arranged by time and channel that also enables access to different typesof content in a single display on user device 130. Device 130 maycorresponds to a first location, whereas device 132 may correspond to adevice in a second location. Furthermore, a media asset accessed ondevice 130 may be selected for display on device 132 as described below.Display 100 may include grid 102 with: (1) a column of channel/contenttype identifiers 104, where each channel/content type identifier (whichis a cell in the column) identifies a different channel or content typeavailable; and (2) a row of time identifiers 106, where each timeidentifier (which is a cell in the row) identifies a time block ofprogramming. Grid 102 also includes cells of program listings, such asprogram listing 108, where each listing provides the title of theprogram provided on the listing's associated channel and time. With auser input device, a user can select program listings by movinghighlight region 110. Information relating to the program listingselected by highlight region 110 may be provided in program informationregion 112. Region 112 may include, for example, the program title, theprogram description, the time the program is provided (if applicable),the channel the program is on (if applicable), the program's rating, andother desired information.

In addition to providing access to linear programming (e.g., contentthat is scheduled to be transmitted to a plurality of user equipmentdevices at a predetermined time and is provided according to aschedule), the media guidance application also provides access tonon-linear programming (e.g., content accessible to a user equipmentdevice at any time and is not provided according to a schedule).Non-linear programming may include content from different contentsources including on-demand content (e.g., VOD), Internet content (e.g.,streaming media, downloadable media, etc.), locally stored content(e.g., content stored on any user equipment device described above orother storage device), or other time-independent content. On-demandcontent may include movies or any other content provided by a particularcontent provider (e.g., HBO On Demand providing “The Sopranos” and “CurbYour Enthusiasm”). HBO ON DEMAND is a service mark owned by Time WarnerCompany L.P. et al. and THE SOPRANOS and CURB YOUR ENTHUSIASM aretrademarks owned by the Home Box Office, Inc. Internet content mayinclude web events, such as a chat session or Webcast, or contentavailable on-demand as streaming content or downloadable content throughan Internet web site or other Internet access (e.g. FTP).

Grid 102 may provide media guidance data for non-linear programmingincluding on-demand listing 114, recorded content listing 116, andInternet content listing 118. A display combining media guidance datafor content from different types of content sources is sometimesreferred to as a “mixed-media” display. Various permutations of thetypes of media guidance data that may be displayed that are differentthan display 100 may be based on user selection or guidance applicationdefinition (e.g., a display of only recorded and broadcast listings,only on-demand and broadcast listings, etc.). As illustrated, listings114, 116, and 118 are shown as spanning the entire time block displayedin grid 102 to indicate that selection of these listings may provideaccess to a display dedicated to on-demand listings, recorded listings,or Internet listings, respectively. In some embodiments, listings forthese content types may be included directly in grid 102. Additionalmedia guidance data may be displayed in response to the user selectingone of the navigational icons 120. (Pressing an arrow key on a userinput device may affect the display in a similar manner as selectingnavigational icons 120.)

Display 100 may also include video region 122, advertisement 124, andoptions region 126. Video region 122 may allow the user to view and/orpreview programs that are currently available, will be available, orwere available to the user. The content of video region 122 maycorrespond to, or be independent from, one of the listings displayed ingrid 102. Grid displays including a video region are sometimes referredto as picture-in-guide (PIG) displays. PIG displays and theirfunctionalities are described in greater detail in

Satterfield et al. U.S. Pat. No. 6,564,378, issued May 13, 2003 and Yuenet al. U.S. Pat. No. 6,239,794, issued May 29, 2001, which are herebyincorporated by reference herein in their entireties. PIG displays maybe included in other media guidance application display screens of theembodiments described herein.

Advertisement 124 may provide an advertisement for content that,depending on a viewer's access rights (e.g., for subscriptionprogramming), is currently available for viewing, will be available forviewing in the future, or may never become available for viewing, andmay correspond to or be unrelated to one or more of the content listingsin grid 102. Advertisement 124 may also be for products or servicesrelated or unrelated to the content displayed in grid 102. Advertisement124 may be selectable and provide further information about content,provide information about a product or a service, enable purchasing ofcontent, a product, or a service, provide content relating to theadvertisement, etc. Advertisement 124 may be targeted based on a user'sprofile/preferences, monitored user activity, the type of displayprovided, or on other suitable targeted advertisement bases.

While advertisement 124 is shown as rectangular or banner shaped,advertisements may be provided in any suitable size, shape, and locationin a guidance application display. For example, advertisement 124 may beprovided as a rectangular shape that is horizontally adjacent to grid102. This is sometimes referred to as a panel advertisement. Inaddition, advertisements may be overlaid over content or a guidanceapplication display or embedded within a display. Advertisements mayalso include text, images, rotating images, video clips, or other typesof content described above. Advertisements may be stored in a userequipment device having a guidance application, in a database connectedto the user equipment, in a remote location (including streaming mediaservers), or on other storage means, or a combination of theselocations. Providing advertisements in a media guidance application isdiscussed in greater detail in, for example, Knudson et al., U.S. PatentApplication Publication No. 2003/0110499, filed Jan. 17, 2003; Ward, IIIet al. U.S. Pat. No. 6,756,997, issued Jun. 29, 2004; and Schein et al.U.S. Pat. No. 6,388,714, issued May 14, 2002, which are herebyincorporated by reference herein in their entireties. It will beappreciated that advertisements may be included in other media guidanceapplication display screens of the embodiments described herein.

Options region 126 may allow the user to access different types ofcontent, media guidance application displays, and/or media guidanceapplication features. Options region 126 may be part of display 100 (andother display screens described herein), or may be invoked by a user byselecting an on-screen option or pressing a dedicated or assignablebutton on a user input device. The selectable options within optionsregion 126 may concern features related to program listings in grid 102or may include options available from a main menu display. Featuresrelated to program listings may include searching for other air times orways of receiving a program, recording a program, enabling seriesrecording of a program, setting program and/or channel as a favorite,purchasing a program, or other features. Options available from a mainmenu display may include search options, VOD options, parental controloptions, Internet options, cloud-based options, device synchronizationoptions, second screen device options, options to access various typesof media guidance data displays, options to subscribe to a premiumservice, options to edit a user's profile, options to access a browseoverlay, or other options.

The media guidance application may be personalized based on a user'spreferences. A personalized media guidance application allows a user tocustomize displays and features to create a personalized “experience”with the media guidance application. This personalized experience may becreated by allowing a user to input these customizations and/or by themedia guidance application monitoring user activity to determine varioususer preferences. Users may access their personalized guidanceapplication by logging in or otherwise identifying themselves to theguidance application. Customization of the media guidance applicationmay be made in accordance with a user profile. The customizations mayinclude varying presentation schemes (e.g., color scheme of displays,font size of text, etc.), aspects of content listings displayed (e.g.,only HDTV or only 3D programming, user-specified broadcast channelsbased on favorite channel selections, re-ordering the display ofchannels, recommended content, etc.), desired recording features (e.g.,recording or series recordings for particular users, recording quality,etc.), parental control settings, customized presentation of Internetcontent (e.g., presentation of social media content, e-mail,electronically delivered articles, etc.) and other desiredcustomizations.

The media guidance application may allow a user to provide user profileinformation or may automatically compile user profile information. Themedia guidance application may, for example, monitor the content theuser accesses and/or other interactions the user may have with theguidance application. Additionally, the media guidance application mayobtain all or part of other user profiles that are related to aparticular user (e.g., from other web sites on the Internet the useraccesses, such as www.allrovi.com, from other media guidanceapplications the user accesses, from other interactive applications theuser accesses, from another user equipment device of the user, etc.),and/or obtain information about the user from other sources that themedia guidance application may access. As a result, a user can beprovided with a unified guidance application experience across theuser's different user equipment devices. This type of user experience isdescribed in greater detail below in connection with FIG. 4. Additionalpersonalized media guidance application features are described ingreater detail in Ellis et al., U.S. Patent Application Publication No.2005/0251827, filed Jul. 11, 2005, Boyer et al., U.S. Pat. No.7,165,098, issued Jan. 16, 2007, and Ellis et al., U.S. PatentApplication Publication No. 2002/0174430, filed Feb. 21, 2002, which arehereby incorporated by reference herein in their entireties.

Another display arrangement for providing media guidance is shown inFIG. 2. Video mosaic display 200, shown on device 218, includesselectable options 202 for content information organized based oncontent type, genre, and/or other organization criteria. Device 218 maycorrespond to a first location, whereas device 220 may correspond to adevice in a second location, and device 222 may correspond to a devicein a third location. Furthermore, a media asset accessed on device 218may be selected for display on device 220 or 222 as described below.

Furthermore, device 220 may be reached via trajectory 226, whereasdevice 222 may be reached via trajectory 224. In some embodiments, themedia guidance application may determine which device (e.g., device 220or 222) or which location (e.g., associated with either device 220 ordevice 222) a user is approaching based on determining that the user isfollowing a determined trajectory (e.g., trajectory 226 or 224).

In display 200, television listings option 204 is selected, thusproviding listings 206, 208, 210, and 212 as broadcast program listings.In display 200 the listings may provide graphical images including coverart, still images from the content, video clip previews, live video fromthe content, or other types of content that indicate to a user thecontent being described by the media guidance data in the listing. Eachof the graphical listings may also be accompanied by text to providefurther information about the content associated with the listing. Forexample, listing 208 may include more than one portion, including mediaportion 214 and text portion 216. Media portion 214 and/or text portion216 may be selectable to view content in full-screen or to viewinformation related to the content displayed in media portion 214 (e.g.,to view listings for the channel that the video is displayed on).

The listings in display 200 are of different sizes (i.e., listing 206 islarger than listings 208, 210, and 212), but if desired, all thelistings may be the same size. Listings may be of different sizes orgraphically accentuated to indicate degrees of interest to the user orto emphasize certain content, as desired by the content provider orbased on user preferences. Various systems and methods for graphicallyaccentuating content listings are discussed in, for example, Yates, U.S.Patent Application Publication No. 2010/0153885, filed Dec. 29, 2005,which is hereby incorporated by reference herein in its entirety.

Users may access content and the media guidance application (and itsdisplay screens described above and below) from one or more of theiruser equipment devices. FIG. 3 shows a generalized embodiment ofillustrative user equipment device 300. More specific implementations ofuser equipment devices are discussed below in connection with FIG. 4.User equipment device 300 may receive content and data via input/output(hereinafter “I/O”) path 302. I/O path 302 may provide content (e.g.,broadcast programming, on-demand programming, Internet content, contentavailable over a local area network (LAN) or wide area network (WAN),and/or other content) and data to control circuitry 304, which includesprocessing circuitry 306 and storage 308. Control circuitry 304 may beused to send and receive commands, requests, and other suitable datausing I/O path 302. I/O path 302 may connect control circuitry 304 (andspecifically processing circuitry 306) to one or more communicationspaths (described below). I/O functions may be provided by one or more ofthese communications paths, but are shown as a single path in FIG. 3 toavoid overcomplicating the drawing.

Control circuitry 304 may be based on any suitable processing circuitrysuch as processing circuitry 306. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. In some embodiments,processing circuitry may be distributed across multiple separateprocessors or processing units, for example, multiple of the same typeof processing units (e.g., two Intel Core i7 processors) or multipledifferent processors (e.g., an Intel Core i5 processor and an Intel Corei7 processor). In some embodiments, control circuitry 304 executesinstructions for a media guidance application stored in memory (i.e.,storage 308). Specifically, control circuitry 304 may be instructed bythe media guidance application to perform the functions discussed aboveand below. For example, the media guidance application may provideinstructions to control circuitry 304 to generate the media guidancedisplays. In some implementations, any action performed by controlcircuitry 304 may be based on instructions received from the mediaguidance application.

In client-server based embodiments, control circuitry 304 may includecommunications circuitry suitable for communicating with a guidanceapplication server or other networks or servers. The instructions forcarrying out the above mentioned functionality may be stored on theguidance application server. Communications circuitry may include acable modem, an integrated services digital network (ISDN) modem, adigital subscriber line (DSL) modem, a telephone modem, Ethernet card,or a wireless modem for communications with other equipment, or anyother suitable communications circuitry. Such communications may involvethe Internet or any other suitable communications networks or paths(which is described in more detail in connection with FIG. 4). Inaddition, communications circuitry may include circuitry that enablespeer-to-peer communication of user equipment devices, or communicationof user equipment devices in locations remote from each other (describedin more detail below).

Memory may be an electronic storage device provided as storage 308 thatis part of control circuitry 304. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders,digital video recorders (DVR, sometimes called a personal videorecorder, or PVR), solid state devices, quantum storage devices, gamingconsoles, gaming media, or any other suitable fixed or removable storagedevices, and/or any combination of the same. Storage 308 may be used tostore various types of content described herein as well as mediaguidance data described above. Nonvolatile memory may also be used(e.g., to launch a boot-up routine and other instructions). Cloud-basedstorage, described in relation to FIG. 4, may be used to supplementstorage 308 or instead of storage 308.

Control circuitry 304 may include video generating circuitry and tuningcircuitry, such as one or more analog tuners, one or more MPEG-2decoders or other digital decoding circuitry, high-definition tuners, orany other suitable tuning or video circuits or combinations of suchcircuits. Encoding circuitry (e.g., for converting over-the-air, analog,or digital signals to MPEG signals for storage) may also be provided.Control circuitry 304 may also include scaler circuitry for upconvertingand downconverting content into the preferred output format of the userequipment 300. Circuitry 304 may also include digital-to-analogconverter circuitry and analog-to-digital converter circuitry forconverting between digital and analog signals. The tuning and encodingcircuitry may be used by the user equipment device to receive and todisplay, to play, or to record content. The tuning and encodingcircuitry may also be used to receive guidance data. The circuitrydescribed herein, including for example, the tuning, video generating,encoding, decoding, encrypting, decrypting, scaler, and analog/digitalcircuitry, may be implemented using software running on one or moregeneral purpose or specialized processors. Multiple tuners may beprovided to handle simultaneous tuning functions (e.g., watch and recordfunctions, picture-in-picture (PIP) functions, multiple-tuner recording,etc.). If storage 308 is provided as a separate device from userequipment 300, the tuning and encoding circuitry (including multipletuners) may be associated with storage 308.

A user may send instructions to control circuitry 304 using user inputinterface 310. User input interface 310 may be any suitable userinterface, such as a remote control, mouse, trackball, keypad, keyboard,touch screen, touchpad, stylus input, joystick, voice recognitioninterface, or other user input interfaces. Display 312 may be providedas a stand-alone device or integrated with other elements of userequipment device 300. For example, display 312 may be a touchscreen ortouch-sensitive display. In such circumstances, user input interface 312may be integrated with or combined with display 312. Display 312 may beone or more of a monitor, a television, a liquid crystal display (LCD)for a mobile device, amorphous silicon display, low temperature polysilicon display, electronic ink display, electrophoretic display, activematrix display, electro-wetting display, electrofluidic display, cathoderay tube display, light-emitting diode display, electroluminescentdisplay, plasma display panel, high-performance addressing display,thin-film transistor display, organic light-emitting diode display,surface-conduction electron-emitter display (SED), laser television,carbon nanotubes, quantum dot display, interferometric modulatordisplay, or any other suitable equipment for displaying visual images.In some embodiments, display 312 may be HDTV-capable. In someembodiments, display 312 may be a 3D display, and the interactive mediaguidance application and any suitable content may be displayed in 3D. Avideo card or graphics card may generate the output to the display 312.The video card may offer various functions such as accelerated renderingof 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or theability to connect multiple monitors. The video card may be anyprocessing circuitry described above in relation to control circuitry304. The video card may be integrated with the control circuitry 304.Speakers 314 may be provided as integrated with other elements of userequipment device 300 or may be stand-alone units. The audio component ofvideos and other content displayed on display 312 may be played throughspeakers 314. In some embodiments, the audio may be distributed to areceiver (not shown), which processes and outputs the audio via speakers314.

User equipment device 300 may also incorporate or be accessible todetection module 316. For example, detection module 316 may identifyparticular users and/or the movements of the particular user. Forexample, via detection module 316, the media guidance application maydetermine when a user enters and/or exits a location and/or a viewingarea associated with a media asset and/or a display device. Detectionmodule 316 may also determine the trajectory of one or more users.Detection module 316 may further include various components (e.g., avideo detection component, an audio detection component, etc.).

In some embodiments, detection module 316 may include a contentrecognition module to determine the content of a presented media asset(e.g., whether or not an advertisement, content of interest to a user,etc.) is being presented, the number of people in a viewing area, and/ora location. The content recognition module may use object recognitiontechniques such as edge detection, pattern recognition, including, butnot limited to, self-learning systems (e.g., neural networks), opticalcharacter recognition, on-line character recognition (including but notlimited to, dynamic character recognition, real-time characterrecognition, intelligent character recognition), and/or any othersuitable technique. For example, the media guidance application mayreceive data in the form of a video. The video may include a series offrames. For each frame of the video, the media guidance application mayuse a content recognition module or algorithm to determine the people(including the actions associated with each of the people) in each ofthe frames or series of frames and/or where each identified person islooking. Alternatively or additionally, for each frame of the video, themedia guidance application may use a content recognition module oralgorithm to determine the content of one or more frames of a mediaasset. The media guidance application may then compare the determinedcontent to user preference information (e.g., retrieved from a userprofile).

In some embodiments, the content recognition module or algorithm mayalso include speech recognition techniques, including but not limited toHidden Markov Models, dynamic time warping, and/or neural networks (asdescribed above) to translate spoken words into text and/or processingaudio data. The content recognition module may also combine multipletechniques to determine the content of a presented media asset (e.g.,whether or not an advertisement, content of interest to a user, etc.) isbeing presented, the number of people in a viewing area, and/or thelevel of engagement of each person in the viewing area (e.g., whether ornot a person is interacting with a device). For example, a videodetection component of the detection module may generate data indicatingthat two people are within a viewing area of a user device. An audiocomponent of the detection module may generate data indicating that thetwo people are currently engaged in a conversation about the mediaassets (e.g., by determining and processing keywords in theconversation).

In addition, the media guidance application may use multiple types ofoptical character recognition and/or fuzzy logic, for example, whenprocessing keyword(s) retrieved from data (e.g., textual data,translated audio data, user inputs, etc.) describing the engagement of auser (or when cross-referencing various types of data in databases). Forexample, if the particular data received is textual data, using fuzzylogic, the media guidance application (e.g., via a content recognitionmodule or algorithm incorporated into, or accessible by, the mediaguidance application) may determine two fields and/or values to beidentical even though the substance of the data or value (e.g., twodifferent spellings) is not identical. In some embodiments, the mediaguidance application may analyze particular received data of a datastructure or media asset frame for particular values or text usingoptical character recognition methods described above in order todetermine the engagement of a user. The data received could beassociated with data describing the engagement of the user and/or anyother data required for the function of the embodiments describedherein. Furthermore, the data could contain values (e.g., the data couldbe expressed in binary or any other suitable code or programminglanguage).

In some embodiments, detection module 316 may also detect other useractions and/or movements. For example, if the media guidance applicationdetermines that a user is currently accessing another media asset on asecond device, the media guidance application may determine that theuser is not viewing a media asset on a first device despite being withina viewing area. However, if the content on the second device is similar(e.g., relates to the same subject matter, product, genre, etc.) to thecontent associated with the first device, the media guidance applicationmay determine that the user is viewing the media asset on the firstdevice. Alternatively or additionally, detection module 316 maydetermine (e.g., via querying a device, object recognition, etc.)whether or not is interacting with a device. For example, if the userdoes not interact with a device for a threshold time period (e.g., aperiod of time representative of a user no longer interacting with adevice), the media guidance application may determine that the user hasstopped consuming a media asset on the device (or location associatedwith that device). Alternatively or additionally, detection module 316may determine (e.g., via querying a device, object recognition, etc.)whether or not is a threshold distance from a device. For example, ifthe user is a threshold distance (e.g., a distance representative of auser no longer interacting with a device), the media guidanceapplication may determine that the user has stopped consuming a mediaasset on the device (or location associated with that device). It shouldbe noted that the “thresholds” described herein may be supplied by auser or may be automatically selected. Automatically selected thresholdsmay have a default setting (e.g., determined by a third party) that maybe updated based on a user's history. For example, the actual thresholdsmay be tailored to a particular user (e.g., a user that typically standsfurther away from a device when using the device may has a higherthreshold distance than a user that stands closer to the device whenusing the device).

The media guidance application (e.g., via detection module 316) may alsoverify a user interest through other means. For example, the mediaguidance application, using a detection module (e.g., detection module316 (FIG. 3)), may query the search history associated with a searchengine accessed from a second device (e.g., a smartphone or tabletcomputer) being used by a user within the viewing area of the displaydevice associated with the media guidance application. Upon detectingthat the user previously searched for information similar to theinformation currently presented by the user device, the media guidanceapplication may determine that the user in viewing the media asset.

In another example, the media guidance application, using a detectionmodule (e.g., detection module 316 (FIG. 3)), may analyze keywordswithin a conversation between users occurring within the viewing area ofa display device. If any of the keywords describe an interest in thecontent presented on the user device (e.g., as determined by across-reference with a database indicating words indicative of aninterest in the content), the media guidance application may determinethat the user is viewing the media asset.

The media guidance application may also receive (e.g., via detectionmodule 316 (FIG. 3)) user-generated data (e.g., status updates,microblog posts, etc.) describing a media asset and/or advertisementgenerated for display by the media guidance application. For example, ifa user posts an update to a social media website that he/she iscurrently enjoying a media asset, the media guidance application maydetermine the user is viewing the media asset. Likewise, if a user postsan update to a social media website that he/she is currently going to arestaurant, the media guidance application may determine the trajectoryof the user based on a location of the restaurant.

As used herein, a “social network,” refers to a platform thatfacilitates networking and/or social relations among people who, forexample, share interests, activities, backgrounds, and/or real-lifeconnections. In some cases, social networks may facilitate communicationbetween multiple user devices (e.g., computers, televisions,smartphones, tablets, etc.) associated with different users byexchanging content from one device to another via a social media server.As used herein, a “social media server” refers to a computer server thatfacilitates a social network. For example, a social media serverowned/operated/used by a social media provider may make content (e.g.,status updates, microblog posts, images, graphic messages, etc.)associated with a first user accessible to a second user that is withinthe same social network as the first user.

The guidance application may be implemented using any suitablearchitecture. For example, it may be a stand-alone applicationwholly-implemented on user equipment device 300. In such an approach,instructions of the application are stored locally (e.g., in storage308), and data for use by the application is downloaded on a periodicbasis (e.g., from an out-of-band feed, from an Internet resource, orusing another suitable approach). Control circuitry 304 may retrieveinstructions of the application from storage 308 and process theinstructions to generate any of the displays discussed herein. Based onthe processed instructions, control circuitry 304 may determine whataction to perform when input is received from input interface 310. Forexample, movement of a cursor on a display up/down may be indicated bythe processed instructions when input interface 310 indicates that anup/down button was selected.

In some embodiments, the media guidance application is a client-serverbased application. Data for use by a thick or thin client implemented onuser equipment device 300 is retrieved on-demand by issuing requests toa server remote to the user equipment device 300. In one example of aclient-server based guidance application, control circuitry 304 runs aweb browser that interprets web pages provided by a remote server.

For example, the remote server may store the instructions for theapplication in a storage device. The remote server may process thestored instructions using circuitry (e.g., control circuitry 304) andgenerate the displays discussed above and below. The client device mayreceive the displays generated by the remote server and may display thecontent of the displays locally on equipment device 300. This way, theprocessing of the instructions is performed remotely by the server whilethe resulting displays are provided locally on equipment device 300.Equipment device 300 may receive inputs from the user via inputinterface 310 and transmit those inputs to the remote server forprocessing and generating the corresponding displays. For example,equipment device 300 may transmit a communication to the remote serverindicating that an up/down button was selected via input interface 310.The remote server may process instructions in accordance with that inputand generate a display of the application corresponding to the input(e.g., a display that moves a cursor up/down). The generated display isthen transmitted to equipment device 300 for presentation to the user.

In some embodiments, the media guidance application is downloaded andinterpreted or otherwise run by an interpreter or virtual machine (runby control circuitry 304). In some embodiments, the guidance applicationmay be encoded in the ETV Binary Interchange Format (EBIF), received bycontrol circuitry 304 as part of a suitable feed, and interpreted by auser agent running on control circuitry 304. For example, the guidanceapplication may be an EBIF application. In some embodiments, theguidance application may be defined by a series of JAVA-based files thatare received and run by a local virtual machine or other suitablemiddleware executed by control circuitry 304. In some of suchembodiments (e.g., those employing MPEG-2 or other digital mediaencoding schemes), the guidance application may be, for example, encodedand transmitted in an MPEG-2 object carousel with the MPEG audio andvideo packets of a program.

User equipment device 300 of FIG. 3 can be implemented in system 400 ofFIG. 4 as user television equipment 402, user computer equipment 404,wireless user communications device 406, or any other type of userequipment suitable for accessing content, such as a non-portable gamingmachine. For simplicity, these devices may be referred to hereincollectively as user equipment or user equipment devices, and may besubstantially similar to user equipment devices described above. Userequipment devices, on which a media guidance application may beimplemented, may function as a standalone device or may be part of anetwork of devices. Various network configurations of devices may beimplemented and are discussed in more detail below.

A user equipment device utilizing at least some of the system featuresdescribed above in connection with FIG. 3 may not be classified solelyas user television equipment 402, user computer equipment 404, or awireless user communications device 406. For example, user televisionequipment 402 may, like some user computer equipment 404, beInternet-enabled allowing for access to Internet content, while usercomputer equipment 404 may, like some television equipment 402, includea tuner allowing for access to television programming. The mediaguidance application may have the same layout on various different typesof user equipment or may be tailored to the display capabilities of theuser equipment. For example, on user computer equipment 404, theguidance application may be provided as a web site accessed by a webbrowser. In another example, the guidance application may be scaled downfor wireless user communications devices 406.

In system 400, there is typically more than one of each type of userequipment device but only one of each is shown in FIG. 4 to avoidovercomplicating the drawing. In addition, each user may utilize morethan one type of user equipment device and also more than one of eachtype of user equipment device.

In some embodiments, a user equipment device (e.g., user televisionequipment 402, user computer equipment 404, wireless user communicationsdevice 406) may be referred to as a “second screen device.” For example,a second screen device may supplement content presented on a first userequipment device. The content presented on the second screen device maybe any suitable content that supplements the content presented on thefirst device. In some embodiments, the second screen device provides aninterface for adjusting settings and display preferences of the firstdevice. In some embodiments, the second screen device is configured forinteracting with other second screen devices or for interacting with asocial network. The second screen device can be located in the same roomas the first device, a different room from the first device but in thesame house or building, or in a different building from the firstdevice.

The user may also set various settings to maintain consistent mediaguidance application settings across in-home devices and remote devices.Settings include those described herein, as well as channel and programfavorites, programming preferences that the guidance applicationutilizes to make programming recommendations, display preferences, andother desirable guidance settings. For example, if a user sets a channelas a favorite on, for example, the web site www.allrovi.com on theirpersonal computer at their office, the same channel would appear as afavorite on the user's in-home devices (e.g., user television equipmentand user computer equipment) as well as the user's mobile devices, ifdesired. Therefore, changes made on one user equipment device can changethe guidance experience on another user equipment device, regardless ofwhether they are the same or a different type of user equipment device.In addition, the changes made may be based on settings input by a user,as well as user activity monitored by the guidance application.

The user equipment devices may be coupled to communications network 414.Namely, user television equipment 402, user computer equipment 404, andwireless user communications device 406 are coupled to communicationsnetwork 414 via communications paths 408, 410, and 412, respectively.Communications network 414 may be one or more networks including theInternet, a mobile phone network, mobile voice or data network (e.g., a4G or LTE network), cable network, public switched telephone network, orother types of communications network or combinations of communicationsnetworks. Paths 408, 410, and 412 may separately or together include oneor more communications paths, such as, a satellite path, a fiber-opticpath, a cable path, a path that supports Internet communications (e.g.,IPTV), free-space connections (e.g., for broadcast or other wirelesssignals), or any other suitable wired or wireless communications path orcombination of such paths. Path 412 is drawn with dotted lines toindicate that in the exemplary embodiment shown in FIG. 4 it is awireless path and paths 408 and 410 are drawn as solid lines to indicatethey are wired paths (although these paths may be wireless paths, ifdesired). Communications with the user equipment devices may be providedby one or more of these communications paths, but are shown as a singlepath in FIG. 4 to avoid overcomplicating the drawing.

Although communications paths are not drawn between user equipmentdevices, these devices may communicate directly with each other viacommunication paths, such as those described above in connection withpaths 408, 410, and 412, as well as other short-range point-to-pointcommunication paths, such as USB cables, IEEE 1394 cables, wirelesspaths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or othershort-range communication via wired or wireless paths. BLUETOOTH is acertification mark owned by Bluetooth SIG, INC. The user equipmentdevices may also communicate with each other directly through anindirect path via communications network 414.

System 400 includes content source 416 and media guidance data source418 coupled to communications network 414 via communication paths 420and 422, respectively. Paths 420 and 422 may include any of thecommunication paths described above in connection with paths 408, 410,and 412. Communications with the content source 416 and media guidancedata source 418 may be exchanged over one or more communications paths,but are shown as a single path in FIG. 4 to avoid overcomplicating thedrawing. In addition, there may be more than one of each of contentsource 416 and media guidance data source 418, but only one of each isshown in FIG. 4 to avoid overcomplicating the drawing. (The differenttypes of each of these sources are discussed below.) If desired, contentsource 416 and media guidance data source 418 may be integrated as onesource device. Although communications between sources 416 and 418 withuser equipment devices 402, 404, and 406 are shown as throughcommunications network 414, in some embodiments, sources 416 and 418 maycommunicate directly with user equipment devices 402, 404, and 406 viacommunication paths (not shown) such as those described above inconnection with paths 408, 410, and 412.

Content source 416 may include one or more types of content distributionequipment including a television distribution facility, cable systemheadend, satellite distribution facility, programming sources (e.g.,television broadcasters, such as NBC, ABC, HBO, etc.), intermediatedistribution facilities and/or servers, Internet providers, on-demandmedia servers, and other content providers. NBC is a trademark owned bythe National Broadcasting Company, Inc., ABC is a trademark owned by theAmerican Broadcasting Company, Inc., and HBO is a trademark owned by theHome Box Office, Inc. Content source 416 may be the originator ofcontent (e.g., a television broadcaster, a Webcast provider, etc.) ormay not be the originator of content (e.g., an on-demand contentprovider, an Internet provider of content of broadcast programs fordownloading, etc.). Content source 416 may include cable sources,satellite providers, on-demand providers, Internet providers,over-the-top content providers, or other providers of content. Contentsource 416 may also include a remote media server used to storedifferent types of content (including video content selected by a user),in a location remote from any of the user equipment devices. Systems andmethods for remote storage of content, and providing remotely storedcontent to user equipment are discussed in greater detail in connectionwith Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, whichis hereby incorporated by reference herein in its entirety.

Media guidance data source 418 may provide media guidance data, such asthe media guidance data described above. Media guidance data may beprovided to the user equipment devices using any suitable approach.

In some embodiments, the guidance application may be a stand-aloneinteractive television program guide that receives program guide datavia a data feed (e.g., a continuous feed or trickle feed). Programschedule data and other guidance data may be provided to the userequipment on a television channel sideband, using an in-band digitalsignal, using an out-of-band digital signal, or by any other suitabledata transmission technique. Program schedule data and other mediaguidance data may be provided to user equipment on multiple analog ordigital television channels.

In some embodiments, guidance data from media guidance data source 418may be provided to users' equipment using a client-server approach. Forexample, a user equipment device may pull media guidance data from aserver, or a server may push media guidance data to a user equipmentdevice. In some embodiments, a guidance application client residing onthe user's equipment may initiate sessions with source 418 to obtainguidance data when needed, e.g., when the guidance data is out of dateor when the user equipment device receives a request from the user toreceive data. Media guidance may be provided to the user equipment withany suitable frequency (e.g., continuously, daily, a user-specifiedperiod of time, a system-specified period of time, in response to arequest from user equipment, etc.). Media guidance data source 418 mayprovide user equipment devices 402, 404, and 406 the media guidanceapplication itself or software updates for the media guidanceapplication.

In some embodiments, the media guidance data may include viewer data.For example, the viewer data may include current and/or historical useractivity information (e.g., what content the user typically watches,what times of day the user watches content, whether the user interactswith a social network, at what times the user interacts with a socialnetwork to post information, what types of content the user typicallywatches (e.g., pay TV or free TV), mood, brain activity information,etc.). The media guidance data may also include subscription data. Forexample, the subscription data may identify to which sources or servicesa given user subscribes and/or to which sources or services the givenuser has previously subscribed but later terminated access (e.g.,whether the user subscribes to premium channels, whether the user hasadded a premium level of services, whether the user has increasedInternet speed). In some embodiments, the viewer data and/or thesubscription data may identify patterns of a given user for a period ofmore than one year. The media guidance data may include a model (e.g., asurvivor model) used for generating a score that indicates a likelihooda given user will terminate access to a service/source. For example, themedia guidance application may process the viewer data with thesubscription data using the model to generate a value or score thatindicates a likelihood of whether the given user will terminate accessto a particular service or source. In particular, a higher score mayindicate a higher level of confidence that the user will terminateaccess to a particular service or source. Based on the score, the mediaguidance application may generate promotions and advertisements thatentice the user to keep the particular service or source indicated bythe score as one to which the user will likely terminate access.

Media guidance applications may be, for example, stand-aloneapplications implemented on user equipment devices. For example, themedia guidance application may be implemented as software or a set ofexecutable instructions which may be stored in storage 308, and executedby control circuitry 304 of a user equipment device 300. In someembodiments, media guidance applications may be client-serverapplications where only a client application resides on the userequipment device, and server application resides on a remote server. Forexample, media guidance applications may be implemented partially as aclient application on control circuitry 304 of user equipment device 300and partially on a remote server as a server application (e.g., mediaguidance data source 418) running on control circuitry of the remoteserver. When executed by control circuitry of the remote server (such asmedia guidance data source 418), the media guidance application mayinstruct the control circuitry to generate the guidance applicationdisplays and transmit the generated displays to the user equipmentdevices. The server application may instruct the control circuitry ofthe media guidance data source 418 to transmit data for storage on theuser equipment. The client application may instruct control circuitry ofthe receiving user equipment to generate the guidance applicationdisplays.

Content and/or media guidance data delivered to user equipment devices402, 404, and 406 may be over-the-top (OTT) content. OTT contentdelivery allows Internet-enabled user devices, including any userequipment device described above, to receive content that is transferredover the Internet, including any content described above, in addition tocontent received over cable or satellite connections. OTT content isdelivered via an Internet connection provided by an Internet serviceprovider (ISP), but a third party distributes the content. The

ISP may not be responsible for the viewing abilities, copyrights, orredistribution of the content, and may only transfer IP packets providedby the OTT content provider. Examples of OTT content providers includeYOUTUBE, NETFLIX, and HULU, which provide audio and video via IPpackets. Youtube is a trademark owned by Google Inc., Netflix is atrademark owned by Netflix Inc., and Hulu is a trademark owned by Hulu,LLC. OTT content providers may additionally or alternatively providemedia guidance data described above. In addition to content and/or mediaguidance data, providers of OTT content can distribute media guidanceapplications (e.g., web-based applications or cloud-based applications),or the content can be displayed by media guidance applications stored onthe user equipment device.

Media guidance system 400 is intended to illustrate a number ofapproaches, or network configurations, by which user equipment devicesand sources of content and guidance data may communicate with each otherfor the purpose of accessing content and providing media guidance. Theembodiments described herein may be applied in any one or a subset ofthese approaches, or in a system employing other approaches fordelivering content and providing media guidance. The following fourapproaches provide specific illustrations of the generalized example ofFIG. 4.

In one approach, user equipment devices may communicate with each otherwithin a home network. User equipment devices can communicate with eachother directly via short-range point-to-point communication schemesdescribed above, via indirect paths through a hub or other similardevice provided on a home network, or via communications network 414.Each of the multiple individuals in a single home may operate differentuser equipment devices on the home network. As a result, it may bedesirable for various media guidance information or settings to becommunicated between the different user equipment devices. For example,it may be desirable for users to maintain consistent media guidanceapplication settings on different user equipment devices within a homenetwork, as described in greater detail in Ellis et al., U.S. patentapplication Ser. No. 11/179,410, filed Jul. 11, 2005. Different types ofuser equipment devices in a home network may also communicate with eachother to transmit content. For example, a user may transmit content fromuser computer equipment to a portable video player or portable musicplayer.

In a second approach, users may have multiple types of user equipment bywhich they access content and obtain media guidance. For example, someusers may have home networks that are accessed by in-home and mobiledevices. Users may control in-home devices via a media guidanceapplication implemented on a remote device. For example, users mayaccess an online media guidance application on a website via a personalcomputer at their office, or a mobile device such as a PDA orweb-enabled mobile telephone. The user may set various settings (e.g.,recordings, reminders, or other settings) on the online guidanceapplication to control the user's in-home equipment. The online guidemay control the user's equipment directly, or by communicating with amedia guidance application on the user's in-home equipment. Varioussystems and methods for user equipment devices communicating, where theuser equipment devices are in locations remote from each other, isdiscussed in, for example, Ellis et al., U.S. Pat. No. 8,046,801, issuedOct. 25, 2011, which is hereby incorporated by reference herein in itsentirety.

In a third approach, users of user equipment devices inside and outsidea home can use their media guidance application to communicate directlywith content source 416 to access content. Specifically, within a home,users of user television equipment 402 and user computer equipment 404may access the media guidance application to navigate among and locatedesirable content. Users may also access the media guidance applicationoutside of the home using wireless user communications devices 406 tonavigate among and locate desirable content.

In a fourth approach, user equipment devices may operate in a cloudcomputing environment to access cloud services. In a cloud computingenvironment, various types of computing services for content sharing,storage or distribution (e.g., video sharing sites or social networkingsites) are provided by a collection of network-accessible computing andstorage resources, referred to as “the cloud.” For example, the cloudcan include a collection of server computing devices, which may belocated centrally or at distributed locations, that provide cloud-basedservices to various types of users and devices connected via a networksuch as the Internet via communications network 414. These cloudresources may include one or more content sources 416 and one or moremedia guidance data sources 418. In addition or in the alternative, theremote computing sites may include other user equipment devices, such asuser television equipment 402, user computer equipment 404, and wirelessuser communications device 406. For example, the other user equipmentdevices may provide access to a stored copy of a video or a streamedvideo. In such embodiments, user equipment devices may operate in apeer-to-peer manner without communicating with a central server.

The cloud provides access to services, such as content storage, contentsharing, or social networking services, among other examples, as well asaccess to any content described above, for user equipment devices.Services can be provided in the cloud through cloud computing serviceproviders, or through other providers of online services. For example,the cloud-based services can include a content storage service, acontent sharing site, a social networking site, or other services viawhich user-sourced content is distributed for viewing by others onconnected devices. These cloud-based services may allow a user equipmentdevice to store content to the cloud and to receive content from thecloud rather than storing content locally and accessing locally-storedcontent.

A user may use various content capture devices, such as camcorders,digital cameras with video mode, audio recorders, mobile phones, andhandheld computing devices, to record content. The user can uploadcontent to a content storage service on the cloud either directly, forexample, from user computer equipment 404 or wireless usercommunications device 406 having content capture feature. Alternatively,the user can first transfer the content to a user equipment device, suchas user computer equipment 404. The user equipment device storing thecontent uploads the content to the cloud using a data transmissionservice on communications network 414. In some embodiments, the userequipment device itself is a cloud resource, and other user equipmentdevices can access the content directly from the user equipment deviceon which the user stored the content.

Cloud resources may be accessed by a user equipment device using, forexample, a web browser, a media guidance application, a desktopapplication, a mobile application, and/or any combination of accessapplications of the same. The user equipment device may be a cloudclient that relies on cloud computing for application delivery, or theuser equipment device may have some functionality without access tocloud resources. For example, some applications running on the userequipment device may be cloud applications, i.e., applications deliveredas a service over the Internet, while other applications may be storedand run on the user equipment device. In some embodiments, a user devicemay receive content from multiple cloud resources simultaneously. Forexample, a user device can stream audio from one cloud resource whiledownloading content from a second cloud resource. Or a user device candownload content from multiple cloud resources for more efficientdownloading. In some embodiments, user equipment devices can use cloudresources for processing operations such as the processing operationsperformed by processing circuitry described in relation to FIG. 3.

FIG. 5 shows an illustrative example of screens used to generate fordisplay recommendations to a user. Display screen 500 presents a display502 of program listings and an alert 504 which indicates availability ofrecommended content. For example, in display screen 500, the mediaguidance application has determined that media content is available on asecond device based on a characteristic of media content consumed by auser on a first device. For example, the media guidance application(e.g., via control circuitry 304 (FIG. 3)) may determine that mediacontent available on the second device has similar characteristics tomedia content recently consumed on a first device. As a result, themedia guidance application generated for display alert 504. Alert 504may be selectable by the user. When the user selects alert 504, themedia guidance application may present to the user display 550.

Alternatively or additionally, the media guidance application mayautomatically, without user input, generate for display listings formedia content available on the second device that has similarcharacteristics to media content recently consumed on a first device.For example, in response to a user powering on the second device, themedia guidance application may cause media listings to appear (or beginplayback of a media asset) on a display (e.g., display 312 (FIG. 3)) onthe second device.

Display 550 may present to the user one or more media listings 552 ofmedia assets available on the second device based on the characteristicof media content consumed by the user on the first device. The presentedmedia listings 552 may include information about the media asset (e.g.,title, length, etc.). The presented media listings 552 may also beuser-selectable. When the user selects one of the media listings 552,the user may be given more information about the media asset.Additionally or alternatively, the user may be given an option to startconsuming the media asset and/or an option to instruct the mediaguidance application to never recommend the selected media asset again.

Furthermore, media listings 552 may represent media content that wasavailable on the first device or may represent media content that wasnot available on the first device. For example, media listings 552 mayrepresent media content that is formatted for display on the seconddevice. For example, if the second device has only standard definitionresolution, media listing 552 may represent standard definition versionof media content available in high definition on the first device. Inanother example, if the second device has only audio outputcapabilities, media listing 552 may represent audio-only versions ofmedia content available in audio and video on the first device. In yetanother example, if the second device has access to onlynon-subscription media content, media listing 552 may represent onlynon-subscription media content similar to the subscription media contentavailable on the first device.

In some embodiments, the graphic properties of alert 504 may vary basedon the media content that is the subject of the alert. For example, thecolor of alert 504 may represent how popular the recommended content ison social media sites. The color red may indicate that the recommendedmedia content is very popular and blue may indicate that the recommendedmedia content is not very popular. Alert 504 may be of a number of othercolors that may indicate different degrees of popularity of therecommended media content. The color of alert 504 may also represent anumber of media assets available.

For example, red may indicate ten or more media assets available, greenmay represent availability of at least five recommended assets but nomore than ten, and blue may represent one to four recommended mediaassets available. Additionally or alternatively, alert 504 may have anumber inside of the circle that may represent a number of recommendedmedia assets available.

FIG. 6 is a flowchart of illustrative steps involved in recommendingcontent on a second device based on content consumed by a user on afirst device. It should be noted that process 600 or any step thereofcould be performed on, or provided by, any of the devices shown in FIGS.3-4. For example, process 600 may be executed by control circuitry 304(FIG. 3) as instructed by a media guidance application implemented onuser equipment 402, 404, and/or 406 (FIG. 4) in order to distributecontrol of media guidance application operations for a target deviceamong multiple user devices. In addition, one or more steps of process600 may be incorporated into or combined with one or more steps of anyother process or embodiment (e.g., as described in FIGS. 7-13).

At step 602, a media guidance application determines (e.g., via controlcircuitry 304 (FIG. 3)) that a user has stopped using a first device andis using a second device. For example, as discussed above the mediaguidance application may determine that the user has stopped using thefirst device and is using the second device by determining that the userhas moved from a location that is associated with a first device to alocation associated with the second device. For example, the firstdevice may be a set-top box and the second device may be a carentertainment system. Both the first device and the second device mayhave components of user device 300 (FIG. 3). The user may associate thefirst device with the user's home via user input interface 310 (FIG. 3)available on the first device. The user may further associate the seconddevice with the user's car via user input interface 310 (FIG. 3)available on the second device. The media guidance application maydetermine via processing circuitry 306 (FIG. 3) that the user stoppedusing the first device and started using the second device. For example,when the user drives her car, the media guidance application may (e.g.,via a global positioning module accessible by control circuitry 304(FIG. 3)) automatically determine that the user is no longer at home.

As described above the media guidance application may also determine(e.g., via control circuitry 304 (FIG. 3)) that the user has stoppedusing a first device and is using the second device by detecting thatthe user stopped interacting with the first device and is interactingwith the second device. Both the first and second device may havecomponents of device 300 (FIG. 3). The media guidance application maydetect, via user input interface 310 (FIG. 3), user input into the firstand second devices. The media guidance application may further start atimer via processing circuitry 306 (FIG. 3) to keep track of the amountof time passed since each input. When the timer reaches a thresholdvalue which can be stored in storage 308, the media guidance applicationmay determine that the user has stopped using the first device. Afterthe threshold value is reached on the first device, the media guidanceapplication may start monitoring the second device for user input. Onceuser input is detected on the second device, the media guidanceapplication may determine that the user is using the second device.

In yet another example, the user may indicate to the media guidanceapplication, via user input interface 310 (FIG. 3), that he is about tostop using the first device. The media guidance application may provideto the user a selectable indication, via display 312 (FIG. 3), that whenselected by the user, via user input interface 310 (FIG. 3), indicatesthat the user is about to stop using the first device. Once the userselects the indication via user input interface 310 (FIG. 3), the mediaguidance application may present to the user via display 312 (FIG. 3)one or more devices associated with the user, for the user to select asthe second device.

In step 604, in response to determining that the user has stopped usingthe first device and is using the second device, the media guidanceapplication retrieves (e.g., via control circuitry 304 (FIG. 3)) athreshold length of time from memory (e.g., storage 308 (FIG. 3) and/orany location accessible via communications network 414 (FIG. 4)). Forexample, the media guidance application may be active on a device suchas device 300 (FIG. 3). The threshold length of time may be retrievedfrom RAM which may be part of storage 308 (FIG. 3). Alternatively oradditionally, the threshold length of time may be retrieved from anyother component of storage 308 (e.g., ROM, Hard Disk, Removable Disk,etc.) or from any location accessible via communications network 414(FIG. 4)).

In step 606, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a period of time beginning at a point intime when the user began using the second device and extending backwardsfor the threshold length of time. For example, the media guidanceapplication may retrieve via processing circuitry 306 (FIG. 3) fromstorage 308 (FIG. 3) the current time. The media guidance applicationmay then, via processing circuitry 306 (FIG. 3), calculate a time periodbased on the threshold length of time retrieved via circuitry 306 (FIG.3) and the current time. The time period may further be stored instorage 308 (FIG. 3) as a combination of two values (e.g., start timeand end time).

In step 608, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) first media content consumed by the useron the first device during the period of time. For example, the mediaguidance application may request, via communications network 414 fromthe first device, media content identifiers for media content consumedby the user on the first device during the period of time on the firstdevice. The request may include a start time and an end time thatcontent identifiers are needed for. The identifiers may includeinformation needed to determine a characteristic of the media content.Alternatively or additionally, the media guidance application on thefirst device may keep track, via processing circuitry 306 (FIG. 3), ofinformation about media content the user is consuming on the firstdevice and the time interval for the consummation. That information mayinclude characteristics of the media content. The media guidanceapplication may transmit the information over communications network 414(FIG. 4) to media guidance data source 418, where that information maybe stored in a database. When the media guidance application needs todetermine what content the user has consumed during the time period, themedia guidance application may request that information from mediaguidance data source 418 (FIG. 4) over a communications network 414(FIG. 4).

In step 610, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a characteristic of the first mediacontent. The media guidance application may receive from the firstdevice and/or media guidance data source 418 over communications network414, data associated with media content that the user consumed on thefirst device during the time period. The media guidance application maycross-reference, via processing circuitry 306 (FIG. 3), parts of themedia content consumed by the user in order to determine if that contenthas at least one characteristic associated with it. If all of the mediacontent consumed by the user does not share one characteristic, themedia guidance application may, as described above, determine, viaprocessing circuitry 306 (FIG. 3), a characteristic of a subset of theconsumed media content. The media guidance application may determinemultiple characteristics of the consumed media content based on multiplesubsets.

In step 612, the media guidance application (e.g., via control circuitry304 (FIG. 3)) recommends, based on the characteristic, second mediacontent for consumption on the second device. For example, the mediaguidance application may be activated on, or send instructions to, thesecond device. The media guidance application may retrieve, from storage308 (FIG. 3), a characteristic of the media content consumed on thefirst device. The media guidance application may then search, usingcontrol circuitry 306 (FIG. 3), media content on the second device thatmatches the characteristic. For example, the second device may haveprogram listings stored in storage 308 (FIG. 3) for media contentavailable on the device. The media guidance application may search mediacontent listings of the second device for the characteristic. If thecharacteristic is a name of an actor, the media guidance application maydo a textual comparison, via processing circuitry 306 (FIG. 3), betweenmedia content listings data and the actor's name. If any matches arefound, the media guidance application may recommend the media contentassociated with matched media content listings to the user via display312 (FIG. 3).

It is contemplated that the steps or descriptions of FIG. 6 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 6 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 3-4 could beused to perform one or more of the steps in FIG. 6.

FIG. 7 is a flowchart of illustrative steps involved in determining thata user stopped using a first device and is using a second device. Itshould be noted that process 700 or any step thereof could be performedon, or provided by, any of the devices shown in FIGS. 3-4. For example,process 700 may be executed by control circuitry 304 (FIG. 3) asinstructed by a media guidance application implemented on user equipment402, 404, and/or 406 (FIG. 4) in order to distribute control of mediaguidance application operations for a target device among multiple userdevices. In addition, one or more steps of process 700 may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in FIGS. 6 and 8-13).

At step 702, the media guidance application monitors (e.g., via controlcircuitry 304 (FIG. 3)) a first device for user input. For example, themedia guidance application may be active on a set-top box which may havecomponents of device 300 (FIG. 3). The user may be interacting with theset-top box via a remote control. The remote control may be sending IRsignals to user input interface 310 (FIG. 3). An example of a user inputmay be the user, via a remote control, tuning the set-top box to aspecific channel.

At step 704, the media guidance application detects, via controlcircuitry 304 (FIG. 3), whether a user input has been detected on thefirst device. If user input has not been detected, the media guidanceapplication continues to monitor the first device for user input. If themedia guidance application detects user input, the process moves to step706.

At step 706, the media guidance application stores, in memory, a time atwhich user input was first detected on the first device. The stored timemay represent a time when the user first started using the first deviceand may be stored as (“Start Time”). For example, if the media guidanceapplication determines, via control circuitry 306 (FIG. 3), that userinput was detected, it may retrieve the current time from storage 308(FIG. 3). The media guidance application may then store the retrievedtime in another section of storage 308 (FIG. 3) as Start Time. The mediaguidance application may also store the retrieved time again as (“LastInput Time”). The media guidance application may also start a timer, viacontrol circuitry 306 (FIG. 3), in order to keep track of the timepassed after user input.

At step 708, the media guidance application monitors (e.g., via controlcircuitry 304 (FIG. 3)) the first device for further user input. Themedia guidance application may monitor the first device for further userinput in the same manner as it monitors it in step 702. However, if thefirst device is an electronic tablet, the user may not be interactingwith it via a remote control.

The user may be utilizing a touch interface of an electronic tablet foruser input. The touch interface may be sending user interactions withthe device to a user input interface 310 (FIG. 3). User input interface310 (FIG. 3) may be interpreting user input and sending user input asuser commands to processing circuitry 306 (FIG. 3). Processing circuitry306 (FIG. 3) may then be executing the commands.

At step 710, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) whether further user input has beendetected on the first device. If the media guidance applicationdetermines, via control circuitry 306 (FIG. 3), that further input intouser input interface 310 (FIG. 3) was detected, it may update the LastInput Time by retrieving the current time from storage 308 (FIG. 3), andstoring the retrieved time again in storage 308 (FIG. 3) as Last InputTime. The media guidance application may also stop, reset and restartthe counter started in step 708. The media guidance application may thencontinue monitoring the first device for further user input. If furtheruser input is not detected on the first device, the media guidanceapplication continues to step 712.

In step 712, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) whether a threshold time without userinput has been reached. The threshold time without user input may bedetermined beforehand and stored in storage 308 (FIG. 3). Initially, thethreshold time may be set to an arbitrary number, however, as the mediaguidance application executes process 700 repeatedly, the threshold timemay be adjusted based on threshold times of earlier executed processes700. The media guidance application may compare, via processingcircuitry 306 (FIG. 3), the stored threshold time since last user inputwith the time elapsed on the timer of steps 708 and 710. If thethreshold time has not been reached, the media guidance application willcontinue monitoring the first device for further user input (step 708).If the threshold time has been reached, then process 700 will move tostep 714.

In step 714, the media guidance application stores current time inmemory (e.g., storage 308 (FIG. 3) and/or any location accessible viacommunications network 414 (FIG. 4)). The media guidance application mayretrieve current time in the same manner as in step 706 and store it instorage 308 (FIG. 3) as (“End Time”) to signify that the user stoppedusing the first device.

In step 716, the media guidance application monitors (e.g., via controlcircuitry 304 (FIG. 3)) the second device for user input. The mediaguidance application may monitor the second device for user input in thesame manner as it monitors the first device in steps 702 and 708. Inanother example, if the second device is a car entertainment system,user input may be the user starting the car and as a result turning onthe car entertainment system. Turning on the car may be considered userinput in the context of the car entertainment system.

In step 718, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) whether user input has been detected onthe second device. The media guidance application may detect user inputon the second device in the same manner as it detects user input on thefirst device in steps 704 and 710. Additionally or alternatively, themedia guidance application may detect, via a microphone, the user'svoice commands. The microphone may transmit the user's voice commands touser input interface 310 (FIG. 3). User input interface 310 (FIG. 3) mayinterpret the user's voice commands and transmit them to processingcircuitry 306 (FIG. 3) for execution. If user input is not detected onthe second device, the media guidance application may continuemonitoring the second device for user input. Alternatively oradditionally, the media guidance application may monitor multipledevices for user input. The device that receives user input at step 718may be labeled as the second device.

At step 720, the media guidance application transmits (e.g., via controlcircuitry 304 (FIG. 3)) to the second device Start Time and End Time.For example, the media guidance application may be active on the firstdevice and the second device. When user input on the second device isdetected, the media guidance application may transmit from the firstdevice, via communications network 414 (FIG. 4), a request for a StartTime and End Time stored in storage 308 (FIG. 3) of the first device.The media guidance application may then receive the Start Time and EndTime from the first device.

It is contemplated that the steps or descriptions of FIG. 7 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 7 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 3-4 could beused to perform one or more of the steps in FIG. 7.

FIG. 8 is a flowchart of illustrative steps involved in selecting amedia asset based on a trajectory of a user. It should be noted thatprocess 800 or any step thereof could be performed on, or provided by,any of the devices shown in FIGS. 3-4. For example, process 800 may beexecuted by control circuitry 304 (FIG. 3) as instructed by a mediaguidance application implemented on user equipment 402, 404, and/or 406(FIG. 4) in order to select a media asset based on a trajectory of auser. In addition, one or more steps of process 800 may be incorporatedinto or combined with one or more steps of any other process orembodiment (e.g., as described in FIGS. 6-7 and 9-13).

At step 802, the media guidance application implemented on controlcircuitry (e.g., control circuitry 304 (FIG. 3)) determines that a userhas stopped consuming a first media asset on a first device. Forexample, the media guidance application may determine (e.g., via controlcircuitry 304 (FIG. 3)) that the user has stopped consuming the firstmedia asset on the first device by detecting that the user has movedfrom a first location corresponding to first device to the secondlocation. Additionally or alternatively, the media guidance applicationmay determine (e.g., via control circuitry 304 (FIG. 3)) that the userhas stopped consuming the first media asset on the first device bydetecting that the user has stopped interacting with the first device.For example, the media guidance application may determine that a userhas stopped watching a football game on a television at the residence ofthe user.

At step 804, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a trajectory of the user in response todetermining that the user has stopped consuming the first media asset onthe first device. For example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) the trajectory bydetermining a first location corresponding to the first device,determining a current location of the user, and comparing the firstlocation to the current location. For example, by determining thedifference between the current location of the user and the initiallocation of the user, the media guidance application may determine adirection of the user. For example, the media guidance application maydetermine that the user is currently travelling to a friend's residence.

At step 806, the media guidance application identifies (e.g., viacontrol circuitry 304 (FIG. 3)) a second device corresponding to thetrajectory. For example, the media guidance application may store (e.g.,at storage 308 (FIG. 3) and/or any location accessible viacommunications network 414 (FIG. 4)) a list of devices corresponding tothe user and the various locations of those devices. Furthermore, themedia guidance application may identify (e.g., via control circuitry 304(FIG. 3)) what locations, if any, correspond to a current trajectoryfrom the first device. For example, the media guidance application maystore a second location corresponding to the second device in memory(e.g., at storage 308 (FIG. 3) and/or any location accessible viacommunications network 414 (FIG. 4)). The media guidance application maythen retrieve (e.g., via control circuitry 304 (FIG. 3)) the secondlocation of the second device from the memory. The media guidanceapplication may then determine that the second location corresponds tothe trajectory. For example, the media guidance application maydetermine that the friend has a television and subscribes to one or morecontent providers.

At step 808, the media guidance application may determine (e.g., viacontrol circuitry 304 (FIG. 3)) a plurality of media assets available tothe user on the second device. For example, while in some cases, themedia assets available on the second device may be the same as the mediaassets available to the user on the first device, in some cases themedia assets may differ. Accordingly, before the media guidanceapplication recommends a media asset for presentation on the seconddevice, the media guidance application may first need to determine(e.g., via control circuitry 304 (FIG. 3)) what media assets areavailable. For example, the media guidance application may determinewhat programs are available from the content providers that the friendsubscribes to.

The media guidance application determines (e.g., via control circuitry304 (FIG. 3)) a characteristic of the first media asset. For example,the media guidance application may attempt to recommend a media assetfor presentation on the second device that is the same or similar to amedia asset recently consumed by the user on a first device. Forexample, the media guidance application may search for a second mediaasset that shares the same genre, subject matter, title, type, actor,character, and/or location. For example, the media guidance applicationmay identify characteristics corresponding to the plurality of mediaassets available to the user on the second device and filter theplurality of media assets available to the user on the second devicebased on a presence of the characteristic. For example, the mediaguidance application may determine a title of the program that the userwas consuming prior to leaving his house.

At step 812, the media guidance application recommends (e.g., viacontrol circuitry 304 (FIG. 3)) a second media asset from the pluralityof media assets available to the user on the second device based on thecharacteristic. For example, upon finding a second media asset that issimilar to the first media asset, the media guidance application maygenerate (e.g., via control circuitry 304 (FIG. 3)) an alert (e.g., asdescribed in FIG. 5) that indicates to the user (e.g., on display 312(FIG. 3)) that the second media asset is available on the second device.For example, the media guidance application may determine a plurality ofcontent types consumed by the user during a period of time on the firstdevice and determine the characteristic based on a content type of theplurality of content types most frequently consumed by the user. Forexample, the media guidance application may recommend the same programthat the user was consuming at his own house if the same program isavailable at the friend's house.

It is contemplated that the steps or descriptions of FIG. 8 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 8 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 3-4 could beused to perform one or more of the steps in FIG. 8.

FIG. 9 is a flowchart of illustrative steps involved in selecting amedia asset based on a quality of service at a location. It should benoted that process 800 or any step thereof could be performed on, orprovided by, any of the devices shown in FIGS. 3-4. For example, process900 may be executed by control circuitry 304 (FIG. 3) as instructed by amedia guidance application implemented on user equipment 402, 404,and/or 406 (FIG. 4) in order to select a media asset based on a qualityof service at a location. In addition, one or more steps of process 900may be incorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in FIGS. 6-8).

At step 902, the media guidance application implemented on controlcircuitry (e.g., control circuitry 304 (FIG. 3)) determines that a userhas stopped consuming a first media asset at a first location. Forexample, the media guidance application may determining (e.g., viacontrol circuitry 304 (FIG. 3)) that the user has stopped consuming thefirst media asset at the first location by detecting that the user hasmoved a threshold distance from the first location. Alternatively oradditionally, the media guidance application may determine (e.g., viacontrol circuitry 304 (FIG. 3)) that the user has stopped consuming thefirst media asset at the first location comprises detecting that theuser has stopped interacting with a device at the first location. Forexample, the media guidance application determines that a user wasconsuming a football program.

At step 904, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a trajectory of the user in response todetermining that the user has stopped consuming the first media asset atthe first location. For example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) the trajectory bydetermining a current location of the user and compare the firstlocation to the current location. For example, by determining thedifference between the current location of the user and the initiallocation of the user, the media guidance application may determine(e.g., via control circuitry 304 (FIG. 3)) a direction of the user. Forexample, the media guidance application may determine that the currenttrajectory of the user is leading the user into a particular area.

At step 906, the media guidance application identifies (e.g., viacontrol circuitry 304 (FIG. 3)) a second location where the user willconsume media content based on the trajectory. For example, the mediaguidance application may input (e.g., via control circuitry 304 (FIG.3)) the trajectory into a database (e.g., storage 308 (FIG. 3) and/orany other location accessible via communications network 414 (FIG. 4))listing locations associated with different trajectories from the firstlocation, search (e.g., via control circuitry 304 (FIG. 3)) thedatabase, and receive an output of the second location in response tosearching the database. For example, the media guidance application maydetermine that the area the user is traveling to has poor Internetnetwork coverage, but has adequate radio coverage.

At step 908, the media guidance application searches (e.g., via controlcircuitry 304 (FIG. 3)) a database (e.g., storage 308 (FIG. 3) and/orany other location accessible via communications network 414 (FIG. 4))of quality of service levels at various locations to determine a qualityof service available at the second location. For example, differentlocations may have different quality of service as measured by errorrates, bit rates, throughput, transmission delay, availability, and/orjitter. The different quality of service may prevent some content (e.g.,a high-definition video program) from being presented in both locations.For example, low quality of service in a location may allow for onlylow-definition video or audio programs to be presented. For example, themedia guidance application may determine that an area the user iscurrently traveling to has poor Internet network coverage, but hasadequate radio coverage.

At step 910, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a characteristic of the first mediaasset. For example, the media guidance application may attempt torecommend a media asset for presentation at the second location that isthe same or similar to a media asset recently consumed by the user atthe first location. For example, the media guidance application maysearch for a second media asset that shares the same genre, subjectmatter, title, type, actor, character, and/or location. For example, themedia guidance application may identify characteristics corresponding tothe plurality of media assets available to the user at the secondlocation and filter the plurality of media assets available to the userat the second location based on a presence of the characteristic.

At step 912, the media guidance application recommends (e.g., viacontrol circuitry 304 (FIG. 3)) a second media asset from a plurality ofmedia assets available to the user at the second location based on thecharacteristic and the quality of service (e.g., as shown in FIG. 5).For example, the media guidance application may determine (e.g., viacontrol circuitry 304 (FIG. 3)) a plurality of content types consumed bythe user during a period of time at the first location and determine thecharacteristic based on a content type of the plurality of content typesmost frequently consumed by the user.

Moreover, the media guidance application may identify (e.g., via controlcircuitry 304 (FIG. 3)) required quality of service levels correspondingto the plurality of media assets available to the user at the secondlocation and filter the plurality of media assets available to the userat the second location based on whether or not the second location hasthe required quality of service. For example, as the area has poorInternet network coverage, but has adequate radio coverage, the mediaguidance application may recommend a radio broadcast of subject mattersimilar to the subject matter that the user was consuming at the firstlocation.

It is contemplated that the steps or descriptions of FIG. 9 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 9 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 3-4 could beused to perform one or more of the steps in FIG. 9.

FIGS. 10 and 11 present processes for control circuitry (e.g., controlcircuitry 304) to select media asset based on quality of service inaccordance with some embodiments of the disclosure. In some embodimentsthis process may be encoded on to non-transitory storage medium (e.g.,storage device 308) as a set of instructions to be decoded and executedby processing circuitry (e.g., processing circuitry 306). Processingcircuitry may in turn provide instructions to other sub-circuitscontained within control circuitry 304, such as the tuning, videogenerating, encoding, decoding, encrypting, decrypting, scaling,analog/digital conversion circuitry, and the like.

At step 1002, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) begins a routine to select a media asset basedon a quality of service in an area. In some embodiments, this may bedone either directly or indirectly in response to a user action or input(e.g., from signals received by control circuitry 304 or user inputinterface 310). For example, the process may begin directly in responseto control circuitry 304 receiving signals from user input interface310, or control circuitry 304 may prompt the user to confirm their inputusing a display (e.g., by generating a prompt to be displayed on display312) prior to running the algorithm.

At step 1004, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) proceeds to retrieve the next media asset fromthe database of available media assets at the location. In someembodiments control circuitry 304 may receive a single primitive datastructure that represents the media asset. In some embodiments the valuemay be stored as part of a larger data structure, and control circuitry304 may retrieve the value by executing appropriate accessor methods toretrieve the value from the larger data structure.

At step 1006, control circuitry 304 proceeds to compare the quality ofservice required for the media asset to the quality of service at thelocation. In some embodiments, the value of the quality of service atthe location may be retrieved from a storage device (e.g., storage 308(FIG. 3) and/or a location accessible via communications network 414(FIG. 4)). In some embodiments, control circuitry 304 may directlycompare the quality of service required for the media asset to thequality of service at the location by accessing the values respectivelyfrom memory and performing a value comparison. In some instances,control circuitry 304 may call a comparison function (e.g., for objectto object comparison) to compare quality of service required for themedia asset to the quality of service at the location.

At step 1008, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) compares the values of the quality of servicerequired for the media asset to the quality of service at the locationto determine if the value of the quality of service required for themedia asset is less than or equal to the quality of service at thelocation. If the condition is satisfied, process 1000 proceeds to step1010; if the condition is not satisfied, process 1000 proceeds to step1012 instead.

At step 1010, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) executes a subroutine to include the media assetin the filtered list based on the condition at step 1008 beingsatisfied. After the subroutine is executed, process 1000 proceeds tostep 1014 where it is determined if all media assets available at thelocation are accounted for and further iterations are needed.

At step 1012, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) executes a subroutine to exclude media assetfrom filtered list based on the condition of step 512 being satisfied.After the subroutine is executed, process 1000 proceeds to step 1014where it is determined if all media assets are accounted for and iffurther iterations are needed.

At step 1016, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) executes a subroutine to determinecharacteristics of media assets in the filtered list.

It is contemplated that the descriptions of FIG. 10 may be used with anyother embodiment of this disclosure. In addition, the descriptionsdescribed in relation to the algorithm of FIG. 10 may be done inalternative orders or in parallel to further the purposes of thisdisclosure. For example, conditional statements and logical evaluations,such as those at 1008 may be performed in any order or in parallel orsimultaneously to reduce lag or increase the speed of the system ormethod. As a further example, in some embodiments several media assetsmay be evaluated in parallel, using multiple logical processor threads,or the algorithm may be enhanced by incorporating branch prediction.Furthermore, it should be noted that the process of FIG. 10 may beimplemented on a combination of appropriately configured software andhardware, and that any of the devices or equipment discussed in relationto FIGS. 3-4 could be used to implement one or more portions of theprocess.

The pseudocode in FIG. 11 describes a process to select a media assetbased on a quality of service at a location in accordance with someembodiments of the disclosure. It will be evident to one skilled in theart that the process described by the pseudocode in FIG. 11 may beimplemented in any number of programming languages and a variety ofdifferent hardware, and that the style and format should not beconstrued as limiting, but rather a general template of the steps andprocedures that would be consistent with code used to implement someembodiments of this disclosure.

At line 1101, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) runs a subroutine to initialize variables andprepare to select media assets based on the quality of service at alocation, which begins on line 1105. For example, in some embodimentscontrol circuitry 304 may copy instructions from non-transitory storagemedium (e.g., storage device 308) into RAM or into the cache forprocessing circuitry 306 during the initialization stage. Additionally,in some embodiments the value of a required quality of service for amedia asset at a location being used for comparison, or a tolerancelevel for determining if two values are essentially equivalent, may beretrieved, set, and stored at 1101.

At line 1105, media guidance application (e.g., via control circuitry304 (FIG. 3)) receives a media assets available at the location. In someembodiments these instances may be retrieved from storage 308 (FIG. 3)and/or any location accessible via communications network 414 (FIG. 4)).Control circuitry 304 may receive the media asset by receiving, forexample, a pointer to an array of values of available media assets atthe location. In another example, control circuitry 304 may receive anobject of a class, such as an iterator object containing elements of themedia asset.

At line 1106, control circuitry 304 iterates through the various mediaassets available at the location, if only a single instance isavailable, the loop will only execute once. This loop may be implementedin multiple fashions depending on the choice of hardware and softwarelanguage used to implement the algorithm of FIG. 11; for example, thismay be implemented as part of a “for” or “while” loop.

At line 1107, control circuitry 304 stores the value of the requiredquality of service into a temporary variable “A.” In some embodimentsthe value of the required quality of service will be stored as part of alarger data structure or class, and the value of required quality ofservice may be obtained through appropriate accessor methods. In someembodiments, required quality of service may be converted from a stringor other non-numeric data type into a numeric data type by means of anappropriate hashing algorithm. In some embodiments, control circuitry304 may call a function to perform a comparison of the required qualityof service of the media asset and the quality of service at thelocation. In some embodiments required quality of service of the mediaasset may be encoded as a primitive data structure, and rather thanusing a temporary variable, required quality of service of the mediaasset may be directly used in the comparisons at lines 1109 and 1111.

At line 1108, control circuitry 304 stores the value of the quality ofservice at the location into a temporary variable “B.” Similar to therequired quality of service of the media asset, in some embodiments thevalue of quality of service at the location will be stored as part of alarger data structure or class, and the value of the quality of serviceat the location may be obtained through accessor methods. In someembodiments the quality of service at the location may be converted froma string or other non-numeric data type into a numeric data type bymeans of an appropriate hashing algorithm, or the quality of service atthe location may be a primitive data structure, and may be directly usedin the comparisons at lines 1109 and 1111.

At line 1109, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) compares the value of A to the value of B to seeif they are essentially equivalent. This is achieved by subtracting thevalue of A from B, taking the absolute value of the difference, and thencomparing the absolute value of the difference to a predeterminedtolerance level. In some embodiments the tolerance level may be a setpercentage of either A or B. In some embodiments the tolerance level maybe a fixed number. For example, setting the tolerance level to a setmultiple of machine epsilon may allow for the algorithm to account forsmall rounding errors that may result from the use of floating pointarithmetic. In some embodiments the tolerance level may be set to zero,or the condition inside the IF statement may be replaced with a strictequivalence between A and B.

At line 1110, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) executes a subroutine to include a media assetin the filtered if the condition in line 1109 is satisfied. In someembodiments this may be achieved by processing circuitry 306 (FIG. 3)sending the appropriate signals to control circuitry 304 (FIG. 3).

At line 1111, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) compares the value of A and B to determine if Bis less than A. In some embodiments this comparison will only be done ifA is not essentially equivalent to B and the comparison in line 1109evaluates to FALSE.

At line 1112, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) executes a subroutine to exclude media asset infiltered list if the condition in line 1111 is satisfied.

At line 1114, the media guidance application (e.g., via controlcircuitry 304 (FIG. 3)) runs a termination subroutine after thealgorithm has performed its function. For example, in some embodimentscontrol circuitry 304 may destruct variables, perform garbagecollection, free memory or clear the cache of processing circuitry 306.

It will be evident to one skilled in the art that process 1100 describedby the pseudocode in FIG. 11 may be implemented in any number ofprogramming languages and a variety of different hardware, and theparticular choice and location of primitive functions, logicalevaluations, and function evaluations are not intended to be limiting.It will also be evident that the code may be refactored or rewritten tomanipulate the order of the various logical evaluations, perform severaliterations in parallel rather than in a single iterative loop, or tootherwise manipulate and optimize run-time and performance metricswithout fundamentally changing the inputs or final outputs. For example,in some embodiments break conditions may be placed after lines 1110 and1112 to speed operation, or the conditional statements may be replacedwith a case-switch. In some embodiments, rather than iterating over allmedia assets, in some embodiments the code may be rewritten so controlcircuitry 304 is instructed to evaluate multiple media assetssimultaneously on a plurality of processors or processor threads,lowering the number of iterations needed and potentially speeding upcomputation time.

FIG. 12 is a flowchart of illustrative steps involved in identifyingcontent providers at a device selected based on the trajectory of auser. It should be noted that process 1200 or any step thereof could beperformed on, or provided by, any of the devices shown in FIGS. 3-4. Forexample, process 1200 may be executed by control circuitry 304 (FIG. 3)as instructed by a media guidance application implemented on userequipment 402, 404, and/or 406 (FIG. 4) in order to identify contentproviders at a device selected based on the trajectory of a user. Inaddition, one or more steps of process 1200 may be incorporated into orcombined with one or more steps of any other process or embodiment(e.g., as described in FIGS. 7-11 and 13).

At step 1202, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) that a user has stopped consuming afirst media asset (e.g., a video) on a first device (e.g., device 130(FIG. 1)). For example, the media guidance application may determine(e.g., via control circuitry 304 (FIG. 3)) that the user has stoppedconsuming the first media asset on the first device by detecting (e.g.,via detection module 316 (FIG. 3)) that the user has moved from a firstlocation corresponding to first device to a second location (e.g., theuser has left the viewing area of the first device). In another example,the media guidance application may determine that the user has stoppedconsuming the first media asset on the first device by detecting (e.g.,via detection module 316 (FIG. 3)) that the user has stopped interactingwith the first device (e.g., the user has not used the first device fora threshold period of time).

For example, as described above, the media guidance application mayrecommend media assets based on a media asset that a user was previouslyconsuming. For example, the media guidance application may determinecharacteristics (e.g., a genre, actor, etc.) of the media asset asrecommend other media assets with similar characteristics.

At step 1204, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a trajectory of the user in response todetermining that the user has stopped consuming the first media asset onthe first device. For example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) a first locationcorresponding to the first device, determine a current location of theuser, and compare the first location to the current location todetermine the trajectory.

At step 1206, the media guidance application identifies (e.g., viacontrol circuitry 304 (FIG. 3)) a second device (e.g., device 132 (FIG.1)) corresponding to the trajectory. For example, the media guidanceapplication may store (e.g., at storage circuitry 308 (FIG. 3) and/orany location accessible via communications network 414 (FIG. 4)) asecond location corresponding to the second device in memory, retrievethe second location of the second device from the memory, and determine(e.g., via control circuitry 304 (FIG. 3)) that the second locationcorresponds to the trajectory. Additionally or alternatively, the mediaguidance application may recommend (e.g., via control circuitry 304(FIG. 3)) the second device based on a quality of service level for thesecond device being higher than a quality of service level for a thirddevice.

At step 1208, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a content provider for the seconddevice. For example, the media guidance application may determine (e.g.,via control circuitry 304 (FIG. 3)) the content provider (e.g., a cableprovider, a subscription service subscribed to, etc.) for the seconddevice by searching a database listing content providers for variousdevices. In another example, the media guidance application maydetermine the content provider for the second device by querying thesecond device.

At step 1210, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) whether the first media asset isavailable through the content provider. For example, the media guidanceapplication may determine (e.g., via control circuitry 304 (FIG. 3))whether the first media asset is available through the content providerby searching all media guidance data available for the content providerfor the first media asset.

At step 1212, the media guidance application may provide, using thecontrol circuitry, media guidance data (e.g., a channel number,navigation commands, etc.) for receiving the first media asset from thecontent provider in response to determining (e.g., via control circuitry304 (FIG. 3)) that the first media asset is available through thecontent provider. Additionally or alternatively, in response todetermining that the first media asset is not available through thecontent provider, the media guidance application may identify (e.g., viacontrol circuitry 304 (FIG. 3)) a plurality of media assets available tothe user at the second device, filter the plurality of media assetsavailable to the user at the second device based on a comparison of thefirst media asset and the plurality of media assets available to theuser at the second device, and recommend (e.g., via control circuitry304 (FIG. 3)) a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison.

It is contemplated that the descriptions of FIG. 12 may be used with anyother embodiment of this disclosure. In addition, the descriptionsdescribed in relation to the process of FIG. 12 may be done inalternative orders or in parallel to further the purposes of thisdisclosure. As a further example, in some embodiments several mediaassets may be evaluated in parallel, using multiple logical processorthreads, or the algorithm may be enhanced by incorporating branchprediction. Furthermore, it should be noted that the process of FIG. 12may be implemented on a combination of appropriately configured softwareand hardware, and that any of the devices or equipment discussed inrelation to FIGS. 3-4 could be used to implement one or more portions ofthe process.

FIG. 13 is a flowchart of illustrative steps involved in recommending alocation based on the quality of service level for that location. Itshould be noted that process 1300 or any step thereof could be performedon, or provided by, any of the devices shown in FIGS. 3-4. For example,process 1300 may be executed by control circuitry 304 (FIG. 3) asinstructed by a media guidance application implemented on user equipment402, 404, and/or 406 (FIG. 4) in order to recommend a location based onthe quality of service level for that location.

In addition, one or more steps of process 1300 may be incorporated intoor combined with one or more steps of any other process or embodiment(e.g., as described in FIGS. 7-12).

At step 1302, the media guidance application may determine (e.g., viacontrol circuitry 304 (FIG. 3)) that a user has stopped consuming afirst media asset at a first location (e.g., a location associated withdevice 130 (FIG. 1)). For example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) that the user hasstopped consuming the first media asset at the first location bydetecting that the user has moved a threshold distance from the firstlocation. In another example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) that the user hasstopped consuming the first media asset at the first location bydetecting that the user has stopped interacting with a device at thefirst location (e.g., the user may have stopped using device 130(FIG. 1) for a threshold amount of time).

At step 1304, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) a trajectory of the user in response todetermining that the user has stopped consuming the first media asset atthe first location. For example, the media guidance application maydetermine (e.g., via control circuitry 304 (FIG. 3)) the trajectory bydetermining a current location of the user, and compare (e.g., viacontrol circuitry 304 (FIG. 3)) the first location to the currentlocation.

At step 1306, the media guidance application may identify (e.g., viacontrol circuitry 304 (FIG. 3)) a plurality of available locations(e.g., which may each correspond to a different device) for the user toconsume media content based on the trajectory. For example, the mediaguidance application may identify (e.g., via control circuitry 304 (FIG.3)) the second location of the plurality of available locations wherethe user will consume media content based on the trajectory, byinputting the trajectory into a database listing locations associatedwith different trajectories from the first location, searching thedatabase (e.g., at storage circuitry 308 (FIG. 3) and/or any locationaccessible via communications network 414 (FIG. 4)), and receiving anoutput of the second location in response to searching the database.

At step 1308, the media guidance application searches (e.g., via controlcircuitry 304 (FIG. 3)) a database (e.g., located at storage circuitry308 (FIG. 3) and/or any location accessible via communications network414 (FIG. 4)) listing a quality of service level for a second locationof the plurality of available locations and a quality of service levelfor a third location of the plurality of available locations. Forexample, the first location may correspond to a first viewing area for afirst device (e.g., device 130 (FIG. 1)) and the second location maycorrespond to a second viewing area for a second device (e.g., device132 (FIG. 1)).

At step 1310, the media guidance application determines (e.g., viacontrol circuitry 304 (FIG. 3)) that the quality of service level forthe second location (e.g., the location associated with device 220 (FIG.2)) is higher than the quality of service level for the third location(e.g., the location associated with device 222 (FIG. 2)). For example,the quality of service quality may be measured based on an error rate,bit rate, throughput, transmission delay, availability, or jitter.

At step 1312, the media guidance application recommends (e.g., viacontrol circuitry 304 (FIG. 3)) the second location based on the qualityof service level for the second location being higher than the qualityof service level for the third location. For example, the media guidanceapplication may recommend (e.g., via control circuitry 304 (FIG. 3)) alocation that provides the best viewing experience for a user.

In some embodiments, the media guidance application may identify (e.g.,via control circuitry 304 (FIG. 3)) a plurality of media assetsavailable to the user at the second location. The media guidanceapplication may filter (e.g., via control circuitry 304 (FIG. 3)) theplurality of media assets available to the user at the second locationbased on a comparison of the first media asset and the plurality ofmedia assets available to the user at the second location. The mediaguidance application may then recommend (e.g., via control circuitry 304(FIG. 3)) a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison. Themedia guidance application may also provide (e.g., via control circuitry304 (FIG. 3)) media guidance data for receiving the second media assetat the second location.

It is contemplated that the descriptions of FIG. 13 may be used with anyother embodiment of this disclosure. In addition, the descriptionsdescribed in relation to the process of FIG. 13 may be done inalternative orders or in parallel to further the purposes of thisdisclosure. As a further example, in some embodiments several mediaassets may be evaluated in parallel, using multiple logical processorthreads, or the algorithm may be enhanced by incorporating branchprediction. Furthermore, it should be noted that the process of FIG. 13may be implemented on a combination of appropriately configured softwareand hardware, and that any of the devices or equipment discussed inrelation to FIGS. 3-4 could be used to implement one or more portions ofthe process.

The above-described embodiments of the present disclosure are presentedfor purposes of illustration and not of limitation, and the presentdisclosure is limited only by the claims that follow. Furthermore, itshould be noted that the features and limitations described in any oneembodiment may be applied to any other embodiment herein, and flowchartsor examples relating to one embodiment may be combined with any otherembodiment in a suitable manner, done in different orders, or done inparallel. In addition, the systems and methods described herein may beperformed in real time. It should also be noted, the systems and/ormethods described above may be applied to, or used in accordance with,other systems and/or methods.

1. A method for providing content recommendations based on usertrajectories, the method comprising: determining, using controlcircuitry, that a user has stopped consuming a first media asset on afirst device; in response to determining that the user has stoppedconsuming the first media asset on the first device; determining, usingthe control circuitry, a mode of transportation with which the user hasleft a vicinity of the first device; and determining, using the controlcircuitry, a trajectory of the user based on the determined mode oftransportation; identifying, using the control circuitry, a seconddevice corresponding to the trajectory; determining, using the controlcircuitry, a content provider for the second device; determining, usingthe control circuitry, whether the first media asset is availablethrough the content provider; and in response to determining that thefirst media asset is available through the content provider, providing,using the control circuitry, media guidance data for receiving the firstmedia asset from the content provider.
 2. The method of claim 1, furthercomprising: storing a second location corresponding to the second devicein memory; retrieving the second location of the second device from thememory; determining that the second location corresponds to thetrajectory.
 3. The method of claim 2, wherein determining that the userhas stopped consuming the first media asset on the first devicecomprises detecting that the user has moved from a first locationcorresponding to first device to the second location.
 4. The method ofclaim 2, wherein determining that the user has stopped consuming thefirst media asset on the first device comprises detecting that the userhas stopped interacting with the first device.
 5. The method of claim 2,wherein determining whether the first media asset is available throughthe content provider comprises searching all media guidance dataavailable for the content provider for the first media asset.
 6. Themethod of claim 1, wherein determining the trajectory of the user,further comprises: determining a first location corresponding to thefirst device; determining a current location of the user; and comparingthe first location to the current location.
 7. The method of claim 1,further comprising in response to determining that the first media assetis not available through the content provider: identifying a pluralityof media assets available to the user at the second device; filteringthe plurality of media assets available to the user at the second devicebased on a comparison of the first media asset and the plurality ofmedia assets available to the user at the second device; andrecommending a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison. 8.The method of claim 1, wherein determining the content provider for thesecond device comprises searching a database listing content providersfor various devices.
 9. The method of claim 1, wherein determining thecontent provider for the second device comprises querying the seconddevice.
 10. The method of claim 1, further comprising recommending thesecond device based on a quality of service level for the second devicebeing higher than a quality of service level for a third device.
 11. Asystem for providing content recommendations based on user trajectories,the system comprising: communications circuitry; and control circuitryconfigured to: determine that a user has stopped consuming a first mediaasset on a first device; in response to determining that the user hasstopped consuming the first media asset on the first device: determine,using the control circuitry, a mode of transportation with which theuser has left a vicinity of the first device; and determine a trajectoryof the user based on the determined mode of transportation; identify asecond device corresponding to the trajectory; determine a contentprovider for the second device; determine whether the first media assetis available through the content provider; and provide, using thecommunications circuitry, media guidance data for receiving the firstmedia asset from the content provider in response to determining thatthe first media asset is available through the content provider.
 12. Thesystem of claim 11, wherein the control circuitry is configured to:store a second location corresponding to the second device in memory;retrieve the second location of the second device from the memory;determine that the second location corresponds to the trajectory. 13.The system of claim 12, wherein the control circuitry is configured todetermine that the user has stopped consuming the first media asset onthe first device comprises detecting that the user has moved from afirst location corresponding to first device to the second location. 14.The system of claim 12, wherein the control circuitry is configured todetermine that the user has stopped consuming the first media asset onthe first device comprises detecting that the user has stoppedinteracting with the first device.
 15. The system of claim 12, whereinthe control circuitry is configured to determine whether the first mediaasset is available through the content provider comprises searching allmedia guidance data available for the content provider for the firstmedia asset.
 16. The system of claim 11, wherein the control circuitryconfigured to determine the trajectory of the user, is furtherconfigured: determine a first location corresponding to the firstdevice; determine a current location of the user; and compare the firstlocation to the current location.
 17. The system of claim 11, whereinthe control circuitry is configured to, in response to determining thatthe first media asset is not available through the content provider:identify a plurality of media assets available to the user at the seconddevice; filter the plurality of media assets available to the user atthe second device based on a comparison of the first media asset and theplurality of media assets available to the user at the second device;and recommend a second media asset from the plurality of media assetsavailable to the user on the second device based on the comparison. 18.The system of claim 11, wherein the control circuitry is configured todetermine the content provider for the second device comprises searchinga database listing content providers for various devices.
 19. The systemof claim 11, wherein determining the content provider for the seconddevice comprises querying the second device.
 20. The system of claim 11,wherein the control circuitry is configured to recommend the seconddevice based on a quality of service level for the second device beinghigher than a quality of service level for a third device. 21-50.(canceled)